博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 免费发邮件
阅读量:6956 次
发布时间:2019-06-27

本文共 6447 字,大约阅读时间需要 21 分钟。

hot3.png

错误说明

                使用587

                报   服务器要求安全连接或客户端未通过身份验证。 服务器响应为:Must issue a STARTTLS command first.!
                设置 client.EnableSsl = true;
                报   邮箱不可用。 服务器响应为:Mailbox not found or access denied!

                腾讯官方解释https://service.exmail.qq.com/cgi-bin/help?subtype=1&id=20022&no=1000742

                出错原因:您要发送的收件人短时间内收到大量邮件,为避免受到恶意攻击,暂时禁止向该收件人发信。 
                改善建议:暂停向该收件人发信,稍后重新尝试。

                换了个email测试通过,(被这个错误一度坑了好久......)

                使用25

                设置 client.EnableSsl = false;

 

///         /// 没有gmail邮箱        ///         ///         ///         ///         /// 
public static string SendMailUseGmail(string email,string data,string title) { System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); msg.To.Add(email); msg.CC.Add(email); /* * msg.To.Add("b@b.com"); * msg.To.Add("b@b.com"); * msg.To.Add("b@b.com");可以发送给多人 */ /* * msg.CC.Add("c@c.com"); * msg.CC.Add("c@c.com");可以抄送给多人 */ msg.From = new MailAddress(getRandKey(3) + "@" + getRandKey(3) + ".com", "管理员", System.Text.Encoding.UTF8); /* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/ msg.Subject = title;//邮件标题  msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码  msg.Body = data; //内容  msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码  msg.IsBodyHtml = false;//是否是HTML邮件  msg.Priority = MailPriority.High;//邮件优先级   SmtpClient client = new SmtpClient(); client.Credentials = new System.Net.NetworkCredential("285****789@gmail.com", "prdrjdpfivphdfid"); //上述写你的GMail邮箱和密码 client.Port = 587;//Gmail使用的端口 client.Host = "smtp.gmail.com"; client.EnableSsl = true;//经过ssl加密 client.UseDefaultCredentials = false; //object userState = msg; StringBuilder sb_result = new StringBuilder(); try { //client.SendAsync(msg, userState); //简单一点儿可以 client.Send(msg); sb_result.Append("发送成功"); } catch (System.Net.Mail.SmtpException ex) { sb_result.Append("发送失败" + ex); } return sb_result.ToString(); } /// /// 163邮箱发送失败 /// /// /// /// ///
public static string SendMailUse163(string email, string data, string title) { string Host = "smtp.163.com";//指定SMTP服务器主机 int Port = 587; SmtpClient client = new SmtpClient(Host,Port);//生成SmtpClient实例,用它发送电子邮件 client.UseDefaultCredentials = true; //是否需要身份验证 string username = "sendemail001@163.com"; string pwd = "hl123456789"; client.Credentials = new System.Net.NetworkCredential(username, pwd);//发件人邮箱的用户和密码.中的密码更改为授权码号 client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; client.EnableSsl = true; MailMessage message = new MailMessage(); MailAddress fromAddr = new System.Net.Mail.MailAddress("se*****001@163.com", "管理员"); message.From = fromAddr; message.To.Add(email); //Attachment attach = new Attachment(@"附件存放地址");//获取选择的附件 //Attachment attach1 = new Attachment(@"附件存放地址"); //message.Attachments.Add(attach);//将附件添加到邮件中,MailMessage类的Attachments属性可以Add多个附件 //message.Attachments.Add(attach1); message.Subject = title; //获取输入的邮件标题 message.SubjectEncoding = Encoding.UTF8; message.Body = data; //"可以设置成html页面的形式"; message.BodyEncoding = Encoding.UTF8; message.Priority = MailPriority.High; message.IsBodyHtml = true; //想要显示Html页面形式必须设置 StringBuilder sb_result = new StringBuilder(); try { client.Send(message); //client.Send("sendemail001@163.com", email, title, data); client.ServicePoint.CloseConnectionGroup(client.ServicePoint.ConnectionName); //简单一点儿可以client.Send(msg); sb_result.Append("发送成功"); } catch (System.Net.Mail.SmtpException ex) { sb_result.Append("发送失败" + ex); } return sb_result.ToString(); } private static string getRandKey(int count) { string key = string.Empty; string[] jh = new string[] { "a", "b", "c", "c", "d", "e", "f", "g", "h", "i", "j", "k" ,"l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K" ,"L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; Random ra = new Random(Guid.NewGuid().GetHashCode()); for (int i = 0; i < count; i++) { key = key + jh[ra.Next(jh.Length)]; } return key; } /// /// 最后qq邮箱可以了 /// /// /// /// ///
public static string SendEmailQQ(string email, string data, string title) { string res = ""; try { MailMessage msg = new MailMessage(); msg.To.Add(email);//收件人地址 //msg.To.Add("to@qq.com");//收件人地址 //msg.CC.Add("cc@qq.com");//抄送人地址 msg.From = new MailAddress("2851237789@qq.com", "管理员");//发件人邮箱,名称 msg.Subject = title; msg.SubjectEncoding = Encoding.UTF8; msg.Body = data; msg.BodyEncoding = Encoding.UTF8; msg.IsBodyHtml = true; SmtpClient client = new SmtpClient(); client.Host = "smtp.qq.com";//SMTP服务器地址 client.Port = 587;//SMTP端口,QQ邮箱填写587 client.EnableSsl = true;//启用SSL加密 client.Credentials = new NetworkCredential("285******9@qq.com", "dgm*******dcge");//发件人邮箱账号,授权密码 client.Send(msg);//发送邮件 res = ("发送成功!"); } catch (Exception ex) { res = (ex.Message); } return res; }

格式都差不多,就是需要注意参数的设置。

转载于:https://my.oschina.net/qingqingdego/blog/2998116

你可能感兴趣的文章
[20190423]那个更快的疑问3.txt
查看>>
[20170705]理解linux su命令.txt
查看>>
iOS - ImageCache 网络图片缓存
查看>>
如何调整eclipse中代码字体大小
查看>>
ubuntu16.04下python2、python3环境选择与python升级(pip版本切换)
查看>>
FQDN说明
查看>>
java基础---常用类!
查看>>
discuz论坛后台部分设置更改之后,清除了缓存网站前台不更新不生效的解决办法...
查看>>
ACM-ICPC 2018 沈阳赛区网络预赛 F Fantastic Graph(贪心或有源汇上下界网络流)
查看>>
关于js修改三种css样式的方法
查看>>
sofa
查看>>
控件绑定值“正则占位符取值”
查看>>
C#_集合与泛型集合
查看>>
Hibernate ORM框架——续第一章:Hibernate的增删改查(第一个hibernate代码的优化)...
查看>>
可扩展性设计之Cache与Search的利用
查看>>
poj2528
查看>>
FortiGate软件版本升级
查看>>
f5健康检查
查看>>
spring boot 配置文件语法
查看>>
scrapy-splash抓取动态数据例子三
查看>>