1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c#企业邮箱使用smtp发送邮件失败

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

时间:2022-05-05 11:55:35

相关推荐

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){.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@");//message.Subject = "hello !";//添加邮件标题message.Subject = subject;message.SubjectEncoding = System.Text.Encoding.UTF8;SmtpClient client = new SmtpClient();client.EnableSsl = true;//经过ssl加密 //client.Host = "";//client.Port = 587;client.Host = emailServer;//服务器client.Port = Convert.ToInt32(emailServerPort);//添加端口邮箱账户和密码//client.Credentials = new workCredential("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);//企业邮箱

试完之后,发现问题解决

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。