当前位置: 首页 > 知识库问答 >
问题:

Azure Web App无法从smtp.office365.com发送电子邮件

仇经武
2023-03-14

我正在尝试使用 Office365 从 Azure Web App 发送电子邮件。稍后,我们会将其移至 Azure Web Job 或 Azure Functions。

以下示例代码在本地开发机器中工作,在Azure中使用同一端口587的内部部署SMTP服务器也工作。但是,与本地机器相同的凭据在Azure的SMTP.office365.com中引发异常。

似乎问题出在Azure和Office 365之间。任何帮助都将不胜感激!

使用 O365 SMTP 服务器从 Azure 应用服务发送电子邮件

MailMessage msg = new MailMessage();
msg.To.Add(new MailAddress("To Email Address", "Benjamin"));
msg.From = new MailAddress("From Email Address", "You");
msg.Subject = "Azure Web App Email using smtp.office365.com";
msg.Body = "Test message using smtp.office365.com on Azure from a Web App";
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("O365 UID", "O365 PASS");
client.Port = 587;
client.Host = "smtp.office365.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Send(msg); <-- Line 34

系统.Net.Mail。SmtpException:SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.7.57 SMTP;在System.Net.mail.MailCommand的[XXXXX.namprd02.prod.outlook.com]邮件发送过程中,客户端未通过身份验证,无法发送匿名邮件。System.Net.Mail.MailCommand处的CheckResponse(SmtpStatusCode statusCode,字符串响应)。System.Net.Mail.SmtpTransport处的Send(SmtpConnection conn,Byte[]命令,MailAddress from,Boolean allowUnicode)。SendMail(MailAddress发件人、MailAddressCollection收件人、String deliveryNotify、Boolean allowUnicode、SmtpFailedRecipientException

共有1个答案

岑和风
2023-03-14

您必须修改加速器域上的DNS记录(SPF)。

例如,如果发货人是test@mydomain.com。

您必须验证“mydomain.com”的DNS TXT记录,它必须包含:

v=spf1 include:spf.protection.outlook.com -all

你可以通过这个网站查看你的域名系统记录:https://www.whois.com.au/whois/dns.html

输入您的域名并点击按钮“做现场DNS查找”,DNS记录将出现。

如果没有此TXT,您必须修改它。。。

看这个链接:https://answers . Microsoft . com/en-us/ms office/forum/ms office _ outlook-MSO _ winother-MSO _ o365b/client-was-not-authenticated-to-send-anonymous/d 405 BCB 0-f40c-42fa-B1 B2-477597100123

 类似资料:
  • 我的: 但是邮件不会发送到该地址,在控制台中,当我单击时,正在打印,但它不会发送任何电子邮件。 我用的是Django 1.3.7和Python 2.6。 不知道是版本的问题还是什么逻辑问题。

  • 我正在尝试使用CodeIgniter的电子邮件库发送电子邮件。这是我写的代码。 错误:这是我得到的错误。 遇到以下SMTP错误:0php_network_getaddresses:getaddrinfo失败:名称或服务未知无法发送数据:AUTH LOGIN发送AUTH LOGIN命令失败。错误:无法发送数据:邮件从:从:遇到以下SMTP错误:无法发送数据:RCPT TO:到:遇到以下SMTP错误:

  • 我使用SendInBlue Java Api发送电子邮件,我在scala中编写了以下代码: 但我得到了这个错误:{“代码”:“失败”,“消息”:“需要有效的”至“电子邮件地址”,“数据”:[]}

  • responseerror:禁止在d:\node-projects\ecom\node_modules@sendgrid\client\src\类\client.js:146:29在processTicksAndRejections(internal/process/task_queues.js:93:5){ 代码:403,response:{headers:{server:'nginx',dat

  • 当我使用gmail smtp获得异常时,我遇到了一个问题。 1) 允许不太安全的应用:打开 2)尝试过的端口587, 465, 25(相同的例外) 3)尝试禁用SSL(相同的例外) 4) smtp的telnet。gmail。用于端口465、587的com,以及从用于smtp的电子邮件地址直接发送 思想? 使用端口587的异常: 使用端口465的异常: 更新:更改到获取新异常: 感谢任何帮助!

  • 问题内容: 我正在尝试从PHP发送简单的HTML电子邮件。下面的代码仅导致GMail中的空白电子邮件。它还有一个名为“ noname”的空附件,这根本不是我想要的;尽管那可能只是它无法正常工作的症状。 我使用的代码是: 问题答案: 原来关键是编码类型。代替: 我需要使用: 它可能取决于您如何在自己的文本编辑器中保存PHP文件的细节。我没有研究它,但是PHP中的 iconv 函数可能也给我带来了一些