c#企业邮箱使用smtp发送邮件失败,

c#发送邮件,刚开始用qq邮箱,163邮箱正常发送,换成阿里企业邮箱,报下面的错误,
不允许使用邮箱名称。 服务器响应为:authentication is required
但是 foxmail可以发送

    /// <summary>
    /// 发送内邮(收件人、抄送人、附件若有多个,用分号[;]隔开)
    /// </summary>
    /// <param name="toMail">收件人</param>
    /// <param name="ccMail">抄送人</param>
    /// <param name="subject">邮件主题</param>
    /// <param name="content">邮件内容</param>
    /// <param name="filepath">附件路径</param>

    public static bool SendMailnet(string toMail, string ccMail, string subject, string content, string filepath)
    {
        try
        {

            MailMessage message = new MailMessage();

            var emailAcount = System.Configuration.ConfigurationManager.AppSettings["EmailAcount"];  //发件人邮箱账号
            var emailPassword = System.Configuration.ConfigurationManager.AppSettings["EmailPassword"]; //发件人邮箱密码(或者第三方邮箱的授权码)
            var emailServer = System.Configuration.ConfigurationManager.AppSettings["SMTPServer"];   //SMTP服务器
            var emailServerPort = System.Configuration.ConfigurationManager.AppSettings["SMTPServerPort"];//端口号
            var emailAddr = System.Configuration.ConfigurationManager.AppSettings["EmailAddr"];//邮箱尾缀
            //发件人邮箱地址
            MailAddress fromAddr = new MailAddress(emailAcount + emailAddr);
            message.From = fromAddr;


            //收件人地址
            //遍历收件人邮箱地址     
            if (toMail.Trim().Length != 0)
            {
                string[] receivers = toMail.Trim().Split(';');
                for (int i = 0; i < receivers.Length; i++)
                {
                    if (receivers[i].Length > 0)
                    {
                        message.To.Add(receivers[i]);//为该邮件添加联系人  
                    }
                }
            }
            //遍历抄送人邮箱地址
            if (ccMail.Trim().Length != 0)
            {
                string[] ccreceivers = ccMail.Trim().Split(';');
                for (int j = 0; j < ccreceivers.Length; j++)
                {
                    if (ccreceivers[j].Length > 0)
                    {
                        message.CC.Add(ccreceivers[j]);//为该邮件添加抄送人  
                    }
                }
            }

            //遍历添加附件
            if (filepath.Trim().Length != 0)
            {
                string[] attachFiles = filepath.Trim().Split(';');
                for (int k = 0; k < attachFiles.Length; k++)
                {
                    if (attachFiles[k].Length > 0)
                    {
                        Attachment data = new Attachment(attachFiles[k], MediaTypeNames.Application.Octet);
                        message.Attachments.Add(data);
                    }
                }
            }

            //message.Body = "this is a test";
            //添加邮件内容
            message.Body = content;
            message.IsBodyHtml = true;
            message.BodyEncoding = System.Text.Encoding.UTF8;
            //message.To.Add("mino0807@sina.com");
            //message.Subject = "hello !";
            //添加邮件标题
            message.Subject = subject;
            message.SubjectEncoding = System.Text.Encoding.UTF8;

            SmtpClient client = new SmtpClient();
            client.EnableSsl = true;//经过ssl加密  
            //client.Host = "smtp.qq.com";
            //client.Port = 587;
            client.Host = emailServer;//服务器
            client.Port = Convert.ToInt32(emailServerPort);//添加端口
            邮箱账户和密码
            //client.Credentials = new System.Net.NetworkCredential("871597374", "tismxlbznycsbegi");
            //设置发送人的邮箱账号和密码
            //client.Credentials = new NetworkCredential(emailAcount, emailPassword);//163,qq邮箱
            client.Credentials = new NetworkCredential(emailAcount + emailAddr, emailPassword);//企业邮箱
            client.Send(message);

            return true;
        }
        catch (Exception ex)
        {

       
            return false;
        }
    }](这里写自定义目录标题)

网上找了好多没有找到解决方案,后来查了好多阿里的文件,发现,下面的部分,部分邮箱可以用@前半部分用户名就行,
client.Credentials = new NetworkCredential(emailAcount, emailPassword);//163,qq邮箱
阿里企业邮箱我用了全称
lient.Credentials = new NetworkCredential(emailAcount + emailAddr, emailPassword);//企业邮箱
试完之后,发现问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值