C# QQ & 163 邮件发送

       这篇文章的目的并不是说明如果进行右键的发送,因为在.net 坝坝的怀抱下邮件发送的功能实现并不会很难,当然邮件发送的代码,还是会贴上的,昨天在写一个邮件发送的功能,我直接找到了原来的代码,想着直接就可以运行了,但是真正情况并非如此,遇到了很多报错,这里做个说明。

       测试中出现了如下的报错:

        163 

         1.不允许使用邮箱名称。 服务器响应为:authentication is required,163 smtp14,EsCowACHqdDTBdBay0PiEw--.39304S3 1523582420

       2.邮箱不可用。 服务器响应为:User has no permission

         3.事务失败。 服务器响应为:DT:SPM 163 smtp13,EcCowAAHf28_ENBawarsDQ--.43148S3 1523585089,please see ?ip=xx.xx.xx.xx&hostid=smtp13&time=1523585089

         QQ 

         通过QQ发邮件基本没有什么大的问题,可以成功,当然这一切的大的问题都是由于现在的qq和163都开始使用授权码,what? 什么意思了,意思就是原来通过邮箱帐号,密码然后发送右键的方式用不了了,所以这也就是为什么我原先的代码用不了。

         如果开启所谓的授权码呢?

         163:

         

C# QQ & 163 邮件发送

 

         163现在开启POP3/SMTP服务的时候已经做了说明,如上“请使用授权码登录第三方右键客户端”

          

C# QQ & 163 邮件发送

 

          如上开启授权码即可,请牢记自己的授权码

          QQ:

          

C# QQ & 163 邮件发送

           如上,qq的smtp服务开启与获取授权码

           下面开始贴发送的代码:            

public class EmalHelper { /// <summary> /// SMTP实例 /// </summary> static System.Net.Mail.SmtpClient client = null; /// <summary> /// 发送信息 /// </summary> /// <param>邮件接收人</param> /// <param>邮件主题</param> /// <param>邮件内容</param> public static void SendEmail(string Receiver, string Subject, string content) { if (string.IsNullOrEmpty(Receiver) || string.IsNullOrEmpty(Subject) || string.IsNullOrEmpty(content)) { throw new ArgumentNullException("SendEmail参数空异常!"); } if (client == null) { try { //163发送配置 client = new System.Net.Mail.SmtpClient(); client.Host = "smtp.163.com"; client.Port = 25; client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; client.EnableSsl = true; client.UseDefaultCredentials = true; //qq发送配置的参数//切EnableSsl必须设置为true //client = new System.Net.Mail.SmtpClient(); //client.Host = "smtp.qq.com"; //client.Port = 25; //client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; //client.EnableSsl = true; //client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential("邮箱帐号@xx.com", "授权码"); } catch (Exception ex) { throw ex; } } try { System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage(); Message.SubjectEncoding = System.Text.Encoding.UTF8; Message.BodyEncoding = System.Text.Encoding.UTF8; Message.Priority = System.Net.Mail.MailPriority.High; Message.From = new System.Net.Mail.MailAddress("邮箱帐号@xx.com", "张三"); //添加邮件接收人地址 string[] receivers = Receiver.Split(new char[] { ',' }); Array.ForEach(receivers.ToArray(), ToMail => { Message.To.Add(ToMail); }); Message.Subject = Subject; Message.Body = content; Message.IsBodyHtml = true; client.Send(Message); } catch (Exception ex) { throw ex; } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyypgx.html