Azure App Service付费层无法通过Microsoft 365中继发送SMTP邮件
问题:Azure App Service付费层无法通过Microsoft 365 SMTP中继发送邮件
我们拥有Microsoft 365商务账户,计划在Azure App Service托管的.NET Core C# Blazor应用中发送邮件。已按照微软文档的选项3(配置连接器以使用Microsoft 365或Office 365 SMTP中继)在365账户的Exchange中完成外部中继设置。
当App Service Plan为免费层时,应用能成功通过自有域邮箱(noreply@ourcompany.com)向外部Gmail地址发送邮件,说明中继配置是有效的。但升级至付费层(已尝试Basic B1和Standard S1)后,邮件发送失败,报错信息如下:
System.Net.Mail.SmtpException: Mailbox unavailable. The server response was: 5.7.64 TenantAttribution; Relay Access Denied [ValidationStatus of '' is EmptyCertificate]
切回免费层后,邮件发送功能恢复正常。
以下是Blazor应用中调用发送邮件的方法、邮件服务代码及appsettings配置:
Blazor应用发送邮件方法
private async Task SendEmail() { MailMessage msg = new MailMessage { From = new MailAddress("someemailaddress@ourcompany.com"), Subject = "365 Test", Body = "Hello, this is a test." }; msg.To.Add(new MailAddress("someexternalemail@gmail.com")); await EmailService.SendAsync(msg); }
邮件服务代码
public interface ITestEmailService { Task SendAsync(MailMessage mailMessage); } public class TestEmailService : ITestEmailService { private readonly NetworkCredential networkCredentials; private readonly SmtpClientConfiguration smtpClientConfiguration; public TestEmailService(SmtpClientConfiguration smtpClientConfiguration) { this.smtpClientConfiguration = smtpClientConfiguration; networkCredentials = new NetworkCredential { UserName = smtpClientConfiguration.Username, Password = smtpClientConfiguration.Password }; } public async Task SendAsync(MailMessage mailMessage) { using var smtpClient = new SmtpClient(); smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = networkCredentials; smtpClient.Host = smtpClientConfiguration.Host; smtpClient.Port = smtpClientConfiguration.Port; smtpClient.EnableSsl = smtpClientConfiguration.Ssl; smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; if (mailMessage != null) await smtpClient.SendMailAsync(mailMessage); } }
appsettings配置
"SmtpClientConfiguration": { "Username": "", "Password": "", "Host": "<our company MX record>", "Port": 25, "Ssl": true },
请问是否有人遇到过此类问题,或知晓付费层无法发送邮件的原因?
内容的提问来源于stack exchange,提问作者Trystan Lapinig-Wilcock
相关产品推荐
相关产品推荐

