好的,我已经阅读了很多关于这个主题的帖子,但它仍然没有用。我正在尝试通过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
字段设置为用于身份验证的同一电子邮件地址。