C#:无法通过smpt.office365.com

时间:2017-03-23 08:59:59

标签: c# .net office365

好的,我已经阅读了很多关于这个主题的帖子,但它仍然没有用。我正在尝试通过office365的smpt服务器发送电子邮件。当然,我检查了从浏览器登录的凭据。

smtpClient.Host = "smtp.office365.com";
smtpClient.Port = 587;
smtpClient.Credentials = new System.Net.NetworkCredential(username, password, "MicrosoftOffice365Domain.com");
smtpClient.UseDefaultCredentials = false;
smtpClient.EnableSsl = true;
smtpClient.TargetName = "STARTTLS/smtp.office365.com";

我收到例外,但未发送电子邮件:

  

抛出异常:System.dll中的“System.Net.Mail.SmtpException”   邮件发送失败。 System.Net.WebException:无法连接   远程服务器---> System.Net.Sockets.SocketException:A   连接尝试失败,因为连接方没有正确   一段时间后回复,或建立连接失败   因为连接的主机无法响应xx.xxx.xx.x:587 at   System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,   SocketAddress(socketAddress)at   System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure,   插座s4,插座s6,插座& socket,IPAddress&地址,   ConnectSocketState状态,IAsyncResult asyncResult,Exception&   例外)---内部异常堆栈跟踪结束--- at   System.Net.ServicePoint.GetConnection(PooledStream PooledStream,   对象所有者,布尔异步,IPAddress&地址,插座& abortSocket,   插座及放大器; System.Net.PooledStream.Activate(Object中的abortSocket6)   owningObject,Boolean async,GeneralAsyncDelegate asyncCallback)at   System.Net.ConnectionPool.GetConnection(Object owningObject,   GeneralAsyncDelegate asyncCallback,Int32 creationTimeout)at   System.Net.Mail.SmtpConnection.GetConnection(的ServicePoint   ServicePoint)在System.Net.Mail.SmtpClient.GetConnection()处   System.Net.Mail.SmtpClient.Send(MailMessage消息)

我还需要在配置中添加其他内容吗?

更新

重新启动后,某些内容发生了变化。现在它实际上与服务器连接,但这次我得到了这个例外:

  

SMTP服务器需要安全连接,或者客户端未经过身份验证。服务器响应是:5.7.57 SMTP;客户端未通过身份验证,无法在MAIL FROM

期间发送匿名邮件

为什么说电子邮件是“匿名的”?

我将FROM字段设置为用于身份验证的同一电子邮件地址。

0 个答案:

没有答案