.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) |

浙公网安备 33010602011771号