net_io_connectionclosed 尝试通过 c# 中的 office365 发送时出错

net_io_connectionclosed error trying to send via office365 in c#

我查看了其他线程,但到目前为止没有找到解决方案。 每当我尝试通过以下方法连接时,我都会收到 net_io_connectionclosed 错误。

我正在尝试使用 Office 365 smtp 中继。我无权访问主帐户或更改此电子邮件的任何内容,因此我无法检查设置甚至无法重置密码。

感谢所有帮助。

uname: 中继帐户的电子邮件地址 (no-reply@[x].com)

我正在等待我的电子邮件回复以获取 onmicrosoft.com 地址,但任何教程中都没有提到它。因此,这里的 uname 也在 msg 中作为 'from' 地址。

pwd: 密码。

SmtpClient client = new SmtpClient("smtp.office365.com", 587);
client.UseDefaultCredentials = false;
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential(uname, pwd);
client.TargetName = "STARTTLS/smtp.office365.com";
client.Timeout = 10000;
client.Send(msg);

好的,事实证明,除非您拥有 IP(不是由 Azure、netregistry 等提供)

,否则不可能为此使用中继

您必须从O365 购买一个新邮箱并使用它。因此,除非你 运行 你自己的服务器(在这种情况下我不需要中继,因为我会使用我自己的 smtp 服务),否则就无法实现拥有 realy 的目的。)

这意味着如果您运行宁 Azure,可能最好避免使用 O365 的电子邮件,其他供应商要灵活得多。

Link 到 MS 的论坛: https://answers.microsoft.com/en-us/msoffice/forum/msoffice_o365admin-mso_other/how-to-setup-an-smtp-relay-for-use-from-an-azure/5d997c38-bd67-4dbd-ad0d-62488addf9ae