开源.NetCore通用工具库Xmtool使用连载 - 发送邮件篇
【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)加密的连接
MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
// 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:附件地址,允许多个。
MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
mail.Send("测试邮件", "您好,这是一封测试邮件。", "utf-8", "softwaiter@126.com",
"softwaiter", "shoujianren@126.com", "softwaiter@126.com",
"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:附件地址,允许多个。
MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
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:附件地址,允许多个。
MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
mail.Send("测试邮件", "<html><body>hello world.</body></html>", "utf-8", "softwaiter@126.com",
"softwaiter", "shoujianren@126.com", "softwaiter@126.com",
"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:附件地址,允许多个。
MailTool mail = Xmtool.Mail("smtp.126.com", 25, "test", "test@123");
mail.Send("测试邮件", "<html><body>hello world.</body></html>", "softwaiter@126.com", "shoujianren@126.com", "附件.xlsx");
*注*:发送普通邮件和发送网页邮件都提供了对应的异步方法SendAsync、SendHtmlAsync,参数和同步方法相同。
有了以上方法,每次需要发送邮件,只需要两步即可完成。
第一步:通过Mail方法获取邮件发送对象。
第二步:使用获取到的Mail邮件发送对象,调用Send、SendHtml、SendAsync、SendHtmlAsync其中的任意一个方法完成邮件发送。