向 Office 365 发送电子邮件时遇到问题
Trouble Sending Email To Office 365
我们正在从私有 Exchange 服务器迁移到 Office 365。以前,以下代码有效:
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("Old Server Name");
smtp.Send(email);
根据我阅读的所有内容,我应该能够执行以下操作:
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("your user name", "your password");
client.Port = 587; // You can use Port 25 if 587 is blocked (mine is!)
client.Host = "smtp.office365.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Send(msg);
但是,如果我尝试使用端口 587,我只会遇到超时。我也无法远程登录到端口 587 (telnet smtp.office365.com 587)。我自己的 Outlook 客户端设置为 https(端口 443),我可以远程登录到该端口 - 但我的代码只是 returns "SMTP server returned an invalid response"。这是我试过的一些示例代码:
SmtpClient smtp = new SmtpClient("smtp.office365.com");
smtp.Port = 443;
后跟任意组合:
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential("ID", "password");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.EnableSsl = true;
smtp.TargetName = "STARTTLS/smtp.office365.com";
随后是 smtp.Send(电子邮件);
检查您的防火墙,它可能会阻止该端口。
我们正在从私有 Exchange 服务器迁移到 Office 365。以前,以下代码有效:
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("Old Server Name");
smtp.Send(email);
根据我阅读的所有内容,我应该能够执行以下操作:
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("your user name", "your password");
client.Port = 587; // You can use Port 25 if 587 is blocked (mine is!)
client.Host = "smtp.office365.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Send(msg);
但是,如果我尝试使用端口 587,我只会遇到超时。我也无法远程登录到端口 587 (telnet smtp.office365.com 587)。我自己的 Outlook 客户端设置为 https(端口 443),我可以远程登录到该端口 - 但我的代码只是 returns "SMTP server returned an invalid response"。这是我试过的一些示例代码:
SmtpClient smtp = new SmtpClient("smtp.office365.com");
smtp.Port = 443;
后跟任意组合:
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential("ID", "password");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.EnableSsl = true;
smtp.TargetName = "STARTTLS/smtp.office365.com";
随后是 smtp.Send(电子邮件);
检查您的防火墙,它可能会阻止该端口。