.net 之邮件发送帮助类 MailKit 的使用
1. nuget 安装 MailKit 的引用
源码: https://github.com/jstedfast/MimeKit
2.MailKitHelper 的具体代码如下,
public class MailKitHelper { /// <summary> ///发送邮件 /// </summary> /// <param name="toAddressList">接收人</param> /// <param name="title">标题</param> /// <param name="content">内容</param> /// <param name="attachments">附件</param> /// <returns></returns> public static void SendMail(List<KeyValuePair<string, string>> toAddressList, string title, string content, List<KeyValuePair<string, byte[]>> attachments = null) { string server = ConfigurationCache.GetField<string>(ConfigurationCache.Email_SmtpServer); int port = ConfigurationCache.GetField<int>(ConfigurationCache.Email_SmtpPort); string account = ConfigurationCache.GetField<string>(ConfigurationCache.Email_FromAccount); string pwd = ConfigurationCache.GetField<string>(ConfigurationCache.Email_FromAccountPwd); var mailMessage = new MimeMessage(); var fromMailAddress = new MailboxAddress("ScheduleMaster", account); mailMessage.From.Add(fromMailAddress); var toMailAddress = toAddressList.Select(x => new MailboxAddress(x.Key, x.Value)); mailMessage.To.AddRange(toMailAddress); var bodyBuilder = new BodyBuilder() { HtmlBody = content }; if (attachments != null) { foreach (var item in attachments) { bodyBuilder.Attachments.Add(item.Key, item.Value); } } mailMessage.Body = bodyBuilder.ToMessageBody(); mailMessage.Subject = title; using (var smtpClient = new MailKit.Net.Smtp.SmtpClient()) { smtpClient.Timeout = 10 * 1000; //设置超时时间 smtpClient.Connect(server, port, MailKit.Security.SecureSocketOptions.Auto);//连接到远程smtp服务器 smtpClient.Authenticate(account, pwd); smtpClient.Send(mailMessage);//发送邮件 smtpClient.Disconnect(true); } } }
3.常用的各大邮件服务端口号如下:
邮箱类型 | POP3服务器 | SMTP服务器 |
【QQ邮箱】 | pop.qq.com(端口:110) | smtp.qq.com(端口:25) |
【sina.com】 | pop3.sina.com.cn(端口:110) | smtp.sina.com.cn(端口:25) |
【sinaVIP】 | pop3.vip.sina.com (端口:110) | smtp.vip.sina.com (端口:25) |
【sohu.com】 | pop3.sohu.com(端口:110) | smtp.sohu.com(端口:25) |
【126邮箱】 | pop.126.com(端口:110) | smtp.126.com(端口:25) |
【139邮箱】 | POP.139.com(端口:110) | SMTP.139.com(端口:25) |
【163.com】 |
pop.163.com(端口:110) | smtp.163.com(端口:25) |
【QQ企业邮箱】 | pop.exmail.qq.com (SSL启用 端口:995) | smtp.exmail.qq.com(SSL启用 端口:587/465) |
【yahoo.com】 | pop.mail.yahoo.com | smtp.mail.yahoo.com |
【yahoo.com.cn】 | pop.mail.yahoo.com.cn(端口:995) | smtp.mail.yahoo.com.cn(端口:587) |
【HotMail】 | pop3.live.com(端口:995) | smtp.live.com(端口:587) |
【 Gmail】 | pop.gmail.com(SSL启用端口:995) | smtp.gmail.com(SSL启用 端口:587) |
【263.net】 | pop3.263.net(端口:110) | smtp.263.net(端口:25) |
【263.net.cn】 | pop.263.net.cn(端口:110) | smtp.263.net.cn(端口:25) |
【21cn.com】 | pop.21cn.com(端口:110 | smtp.21cn.com(端口:25) |
【Foxmail】 | POP.foxmail.com(端口:110) | SMTP.foxmail.com(端口:25) |
【china.com】 | pop.china.com(端口:110) | smtp.china.com(端口:25) |
【tom.com】 | pop.tom.com(端口:110) | smtp.tom.com(端口:25) |