C#通过SMTP发送邮件代码示例
1、新建SMTP.cs类库文件
public class SMTP
{
/// <summary>
/// SMTP服务器
/// </summary>
public string smtp { get; set; }
/// <summary>
/// SMTP服务器端口
/// </summary>
public int port { get; set; }
/// <summary>
/// 发件人
/// </summary>
public string from { get; set; }
/// <summary>
/// 发件人密码
/// </summary>
public string password { get; set; }
/// <summary>
/// 邮件主题
/// </summary>
public string subject { get; set; }
/// <summary>
/// 邮件主题
/// </summary>
public string body { get; set; }
/// <summary>
/// 收件人邮箱
/// </summary>
public string strto { get; set; }
/// <summary>
/// 抄送邮箱
/// </summary>
public List<string> strcc=new List<string>();
/// <summary>
/// 发送邮件
/// </summary>
public void SendMail()
{
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
client.Host = this.smtp;//邮件服务器
client.UseDefaultCredentials = false;
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential(this.from, this.password);//用户名、密码
client.Port = this.port;
//client.EnableSsl = true;
var msg = new MailMessage();
msg.From = new MailAddress(this.from);
msg.To.Add(strto);
if (this.strcc!=null&& this.strcc.Count>0 )
{
foreach (string OneStrcc in strcc)
{
msg.CC.Add(OneStrcc);
}
}
msg.Subject = subject;//邮件标题
msg.Body = body;//邮件内容
msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml = true;//是否是HTML邮件
msg.Priority = MailPriority.High;//邮件优先级
try
{
client.Send(msg);
}
catch (SmtpException ex)
{
throw ex;
}
}
}
2、使用示例
try
{
var theSMTP = new SMTP
{
smtp = ConfigurationManager.AppSettings["smtp"],
port = Convert.ToInt32(ConfigurationManager.AppSettings["port"]),
from = ConfigurationManager.AppSettings["from"],
password = ConfigurationManager.AppSettings["password"],
subject = "主题",
body = "内容"
};
theSMTP.strto ="xxx@qq.com";
theSMTP.strcc.Add("xxx@qq.com");
theSMTP.SendMail();
}
catch (Exception ex)
{
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2018-02-17 每个人都应该知道的15个大数据术语
2018-02-17 每个人都应该知道的15个大数据术语
2018-02-17 每个人都应该知道的15个大数据术语