.Net实现邮件发送
1.代码如下
public void SendMail() { var emailAcount = ConfigurationManager.AppSettings["EmailAcount"]; var emailPassword = ConfigurationManager.AppSettings["EmailPassword"]; var content = "测试邮件发送"; MailMessage message = new MailMessage(); //设置发件人,发件人需要与设置的邮件发送服务器的邮箱一致 MailAddress fromAddr = new MailAddress(emailAcount); message.From = fromAddr; //设置收件人,可添加多个,添加方法与下面的一样 message.To.Add("收件人邮箱"); //设置抄送人 message.CC.Add("抄送人邮箱"); //设置邮件标题 message.Subject = "Test"; //设置邮件内容 message.Body = content; //设置邮件发送服务器,服务器根据你使用的邮箱而不同,可以到相应的 邮箱管理后台查看,下面是QQ的 SmtpClient client = new SmtpClient("smtp.qq.com", 25); //设置发送人的邮箱账号和密码 client.Credentials = new NetworkCredential(emailAcount, emailPassword); //启用ssl,也就是安全发送 client.EnableSsl = true; //发送邮件 client.Send(message); }
2.注意事项
完成代码后发现总是遇到 操作超时 的问题,后来才发现原来是腾讯邮箱的smtp没有开启,开启方法:
登录腾讯邮箱Web端,点击设置,进入设置页面,选择账户,
然后往下翻,会看到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
设置完成之后你才可以在客户端进行登录,也才允许使用代码进行邮件发送,腾讯邮箱的密码需要使用生成的授权码,不然会报:mail from address must be same as authorization user
本文来自博客园,作者:武韬君,转载请注明原文链接:https://www.cnblogs.com/JETSh/p/7479392.html