翼度科技»论坛 编程开发 .net 查看内容

开源.NetCore通用工具库Xmtool使用连载 - 发送邮件篇

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
【Github源码】


《上一篇》 介绍了Xmtool工具库中的随机值类库,今天我们继续为大家介绍其中的邮件发送类库。

发送邮件是系统开发中经常需要的功能,广泛应用于消息通知、异常告警、内容分发等场景;.netcore框架内置提供了发送邮件的方法,但使用时需要创建多个邮件对象实例,设置一堆复杂的属性,整个过程代码冗长,体验及其不友好;因此,本人将整个邮件发送过程进行了二次封装,最终,用户只需要调用两个方法,即可实现发送邮件的目的。


本类库总共提供了5个方法,分为获取邮件发送对象、发送普通邮件、发送网页邮件3类。获取邮件发送对象

发送普通邮件(完整版)

发送普通邮件(简化版)

发送网页邮件(完整版)

发送网页邮件(简化版)



1. 获取邮件发送对象

public static MailTool Mail(string host, int port, string account, string password, bool enableSsl = false)

参数说明

host:SMTP发送邮件主机地址。
port:SMTP发送邮件服务端口。
account:发送邮件的邮箱账户(此账户并非是发件人账户)
password:发送邮件的邮箱账户密码
enableSsl:指定是否SmtpClient使用安全套接字层(SSL)加密的连接
  1. MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
  2. // TODO
复制代码
2. 发送普通邮件(完整版)

public void Send(string subject, string body, string bodyEncoding, string from, string fromName, string to, string replyTo, string cc, string bcc, params string[] attachments)

参数说明

subject:邮件标题。
body:邮件内容。
bodyEncoding:邮件内容编码格式,通常为utf-8。
from:收件人看到的发件人邮箱地址。
fromName:收件人看到的发件人名称。
to:收件人邮箱地址。
replyTo:收件人回复邮件时的邮件地址。
cc:抄送人邮箱地址,多个用逗号分隔。
bcc:秘密抄送人邮箱地址,多个用逗号分隔。
attachments:附件地址,允许多个。
  1. MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
  2. mail.Send("测试邮件", "您好,这是一封测试邮件。", "utf-8", "softwaiter@126.com",
  3.           "softwaiter", "shoujianren@126.com", "softwaiter@126.com",
  4.           "lingdao@126.com,lingdao2@126.com", "", "附件.xlsx");
复制代码
3. 发送普通邮件(简化版)

public void Send(string subject, string body, string from, string to, params string[] attachments)

参数说明

subject:邮件标题。
body:邮件内容。
from:收件人看到的发件人邮箱地址。
to:收件人邮箱地址。
attachments:附件地址,允许多个。
  1. MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
  2. mail.Send("测试邮件", "您好,这是一封测试邮件。", "softwaiter@126.com", "shoujianren@126.com", "附件.xlsx");
复制代码
4. 发送网页邮件(完整版)

public void SendHtml(string subject, string body, string bodyEncoding, string from, string fromName, string to, string replyTo, string cc, string bcc, params string[] attachments)

参数说明

subject:邮件标题。
body:邮件内容(应该是网页源码)
bodyEncoding:邮件内容编码格式,通常为utf-8。
from:收件人看到的发件人邮箱地址。
fromName:收件人看到的发件人名称。
to:收件人邮箱地址。
replyTo:收件人回复邮件时的邮件地址。
cc:抄送人邮箱地址,多个用逗号分隔。
bcc:秘密抄送人邮箱地址,多个用逗号分隔。
attachments:附件地址,允许多个。
  1. MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
  2. mail.Send("测试邮件", "<html><body>hello world.</body></html>", "utf-8", "softwaiter@126.com",
  3.           "softwaiter", "shoujianren@126.com", "softwaiter@126.com",
  4.           "lingdao@126.com,lingdao2@126.com", "", "附件.xlsx");
复制代码
5. 发送网页邮件(简化版)

public void SendHtml(string subject, string body, string from, string to, params string[] attachments)

参数说明

subject:邮件标题。
body:邮件内容(应该是网页源码)
from:收件人看到的发件人邮箱地址。
to:收件人邮箱地址。
attachments:附件地址,允许多个。
  1. MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
  2. mail.Send("测试邮件", "<html><body>hello world.</body></html>", "softwaiter@126.com", "shoujianren@126.com", "附件.xlsx");
复制代码
*注*:发送普通邮件和发送网页邮件都提供了对应的异步方法SendAsync、SendHtmlAsync,参数和同步方法相同。

有了以上方法,每次需要发送邮件,只需要两步即可完成。
第一步:通过Mail方法获取邮件发送对象。
第二步:使用获取到的Mail邮件发送对象,调用Send、SendHtml、SendAsync、SendHtmlAsync其中的任意一个方法完成邮件发送。


【Github源码】


来源:https://www.cnblogs.com/bcbr/archive/2023/05/22/17421734.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具