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 http://mail.163.com/help/help_spam_16.htm?ip=xx.xx.xx.xx&hostid=smtp13&time=1523585089

         QQ 

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

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

         163:

         

 

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

          

 

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

          QQ:

          

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

           下面开始贴发送的代码:            

    public class EmalHelper
    {
        /// <summary>
        /// SMTP实例
        /// </summary>
        static System.Net.Mail.SmtpClient client = null;

        /// <summary>
        /// 发送信息
        /// </summary>
        /// <param name="Receiver">邮件接收人</param>
        /// <param name="Subject">邮件主题</param>
        /// <param name="content">邮件内容</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;
            }
        }
    }

 上面的邮箱帐号正常输入,后面必须填写授权码,否则就会提示, 不允许使用邮箱名称。 服务器响应为:authentication is required,163 smtp13,EcCowACXmXrVFtBa20jvDQ--.25857S3 1523586773

  如果用户没有开启授权码,还是原先的用户密码的方式,邮箱不可用。 服务器响应为:User has no permission

  服务器响应为:DT:SPM 163 smtp13,EcCowAAHf28_ENBawarsDQ--.43148S3 1523585089,please see http://mail.163.com/help/help_spam_16.htm?ip=xx.xx.xx.xx&hostid=smtp13&time=1523585089 这是第三个错误,因为邮件被拦截导致,你的右键标题和内容要正规,我做了个测试 右键的标题为 “title” 报错,改为“工作汇报”,邮件发送成功,而且这个错误还跟天气有关,开个玩笑,有时候就是莫名其妙的出现,一会就好了

posted @ 2018-04-13 10:45  五行缺码  阅读(2110)  评论(0编辑  收藏  举报