c# - .Net.Mail 不使用交换 SMTP 引发异常
问题描述
将 .Net.Mail 库与交换服务器一起使用时出现问题。问题是当域或电子邮件不存在时,我没有收到任何异常。
我的代码:
public async Task SendEmailAsync(Email email)
{
SmtpClient _client = new SmtpClient("smtp.dummyExchange.cz");
_client.Credentials = new System.Net.NetworkCredential("credential", "pass");
_client.DeliveryMethod = SmtpDeliveryMethod.Network;
_client.EnableSsl = true;
_client.Port = 25;
MailMessage mail = new MailMessage();
mail.From = new MailAddress("fake@fake.cz");
mail.To.Add('fake@gmail.fake');
mail.Subject = 'subject';
mail.Body = Getmailbody();
mail.IsBodyHtml = true;
string messageId = $"<{GenerateMessageId()}>";
mail.Headers.Add("Message-ID", messageId);
try
{
await _client.SendMailAsync(mail);
}
catch (Exception)
{
throw;
}
finally
{
mail.Dispose();
}....
我尝试使用与外部中继 SMTP 服务器完全相同的代码,一切正常。所以要么是交换设置问题,要么我只是在交换中使用了错误的 SmtpClient?
编辑:
例如,当通过中继 smtp 服务器发送电子邮件时,我收到此异常:
"Mailbox unavailable. The server response was: 4.1.2 <fake@gmail.fake>: Recipient address rejected: Domain not found"
但是在使用exchange的时候,也不例外。
编辑:
交换版本:Exchange 2016 CU13
谢谢您的帮助。
解决方案
推荐阅读
- javascript - 链接组件不重定向页面
- symfony - 捆绑 Symfony 5 资产(管理可重用的捆绑资产)
- javascript - 每当我使用 props.navigation.navigate('Game') 时,在 HeaderBackButton.tsx 中反应本机导航问题
- wpf - WPF 本地化颜色选择器组合框
- javascript - jquery如何获取输入的先前值和新值
- ms-access - 从 Windows 批处理文件中使用命令行调用 Microsoft Access 的问题
- javascript - 如何在 Datatables 框架中对日期列进行排序?
- c++ - 如何构造一个由双精度和“”组成的字符串,然后将其作为 const char* 提供给 cMessage 构造函数?
- javascript - 如何在 NPM 中永久排除特定的传递依赖
- flutter - 飘飘的味道