C# 如何发送邮件消息
1.安装NUGET包
MailKit
2.代码如下
using MailKit.Net.Smtp; using MimeKit; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; namespace WebApplication1 { public class MailHelper { /// <summary> /// 发送电子邮件 /// </summary> /// <param name="subj">邮件标题</param> /// <param name="bodys">邮件内容</param> /// <param name="mailData">发送邮件需要的基本参数信息</param> /// <returns></returns> public async Task SendMail(string subj, string bodys, SaleMail mailData) { #region 发邮件需要的基本参数 var fromMail = mailData.LoginAccount; //发件人邮箱账号 var pwd = mailData.LoginPwd;//发件人邮箱登录密码 var toMail = mailData.ReceivedUser;//接收人邮箱账号,多个接收人用逗号分割开 var otherUser = mailData.ReceivedOtherUser;//抄送人邮箱账号,多个抄送人用逗号分割开 var smtpserver = mailData.MailServer;//邮箱服务地址 // smtp.mxhichina.com var port = mailData.MailPort;//邮箱端口:25 if (string.IsNullOrWhiteSpace(smtpserver) || port <= 0 || string.IsNullOrWhiteSpace(fromMail) || string.IsNullOrWhiteSpace(pwd) || string.IsNullOrWhiteSpace(toMail)) { return; } #endregion #region 发送内容 var bodyType = "html"; //暂时只支持html类型的,Body里面可以支持其余类型 var message = new MimeMessage { Subject = subj,//邮件标题 Body = new TextPart(bodyType) //有其余类型消息体类型可以支持 { Text = bodys } }; #endregion #region 发送人 message.From.Add(new MailboxAddress("", fromMail));//发送人 #endregion #region 收件人 var toMailList = new List<string>(); if (!string.IsNullOrWhiteSpace(toMail)) { toMailList = toMail.Split(',').ToList(); } foreach (var item in toMailList) { var curToMail = item.Trim(); if (string.IsNullOrWhiteSpace(curToMail)) { continue; } message.To.Add(new MailboxAddress("", curToMail));//接收人 } #endregion #region 抄送人 var others = new List<string>(); if (!string.IsNullOrWhiteSpace(otherUser)) { others = otherUser.Split(',').ToList(); } foreach (var s in others) { var curOther = s.Trim(); if (string.IsNullOrWhiteSpace(curOther)) { continue; } message.Cc.Add(new MailboxAddress("", curOther)); } #endregion #region 进行发送邮件 SmtpClient smtpClient = new SmtpClient(); smtpClient.Connect(smtpserver, port);//建立连接:邮箱服务地址与端口 smtpClient.Authenticate(fromMail, pwd);//发件人邮箱登录密码与登录账号 await smtpClient.SendAsync(message);//邮件传送 smtpClient.Disconnect(true);//连接释放 #endregion } } /// <summary> /// 发送邮件需要的基本参数信息实体 /// </summary> public class SaleMail { /// <summary> /// 邮箱登录人(发送人)账号 /// </summary> [Required] [StringLength(200)] [DefaultValue("")] public string LoginAccount { get; set; } /// <summary> /// (发送人)邮箱登录密码 /// </summary> [Required] [StringLength(200)] public string LoginPwd { get; set; } /// <summary> /// 接收人(多个按照逗号隔开) /// </summary> [Required] [StringLength(200)] [DefaultValue("")] public string ReceivedUser { get; set; } /// <summary> /// 抄送人(多个按照逗号隔开) /// </summary> [Required] [StringLength(200)] [DefaultValue("")] public string ReceivedOtherUser { get; set; } /// <summary> /// 邮箱服务地址(smtp.mxhichina.com) /// </summary> [Required] [StringLength(200)] [DefaultValue("")] public string MailServer { get; set; } /// <summary> /// 邮箱端口(25) /// </summary> [Required] public int MailPort { get; set; } } }
3.常见企业邮箱POP/SMTP/IMAP服务器地址设置
原文:http://mail.lzcdc.com/v2/help/detail?id=57
全球云邮 | ||||
协议 | 无加密 | SSL / TSL | 服务器地址 | |
POP3 | 110 | 995 | pop3.yunyou.top | |
SMTP | 25 | 465 / 587 | smtp.yunyou.top | |
IMAP | 143 | 993 | imap.yunyou.top | |
新浪企业邮箱 | ||||
协议 | 无加密 | 北京机房网通用户 | 北京机房电信用户 | 广州机房电信用户 |
POP3 | 110 | pop3.sina.net | pop3x.sina.net | gzpop3.sina.net |
SMTP | 25 | smtp.sina.net | smtpx.sina.net | gzsmtp.sina.net |
IMAP | 143 | imap.sina.net | imap.sina.net | imap.sina.net |
搜狐企业邮箱 | ||||
协议 | 无加密 | 服务器地址 | ||
POP3 | 110 | mail.sohu.net | ||
SMTP | 25 | mail.sohu.net | ||
IMAP | 143 | mail.sohu.net | ||
21CN企业邮箱 | ||||
协议 | 无加密 | SSL / TSL | 国内服务器 | 海外服务器 |
POP3 | 110 | 995 | Pop.bnet.cn | Pop-enthk.bnet.cn |
SMTP | 25 | 465 / 587 | smtp.bnet.cn | smtp-enthk.bnet.cn |
IMAP | 143 | 993 | imap.bnet.cn | imap-enthk.bnet.cn |
阿里云企业邮箱(原万网邮箱) | ||||
协议 | 无加密 | SSL / TSL | 服务器地址 | |
POP3 | 110 | 995 | pop3.mxhichina.com | |
SMTP | 25 | 465 | smtp.mxhichina.com | |
IMAP | 143 | 993 | imap.mxhichina.com | |
腾讯企业邮箱 | ||||
协议 | 无加密 | SSL / TSL | 国内服务器地址 | 海外服务器地址 |
POP3 | 110 | 995 | pop.exmail.qq.com | hwpop.exmail.qq.com |
SMTP | 25 | 465 | smtp.exmail.qq.com | hwsmtp.exmail.qq.com |
IMAP | 143 | 993 | imap.exmail.qq.com | hwimap.exmail.qq.com |
163网易企业邮箱 | ||||
协议 | 无加密 | SSL / TSL | 服务器地址 | |
POP3 | 110 | 995 | pop.qiye.163.com | |
SMTP | 25 | 994 | smtp.qiye.163.com | |
IMAP | 143 | 993 | imap.qiye.163.com |