asp.net 发送邮件 本地ok,服务器总失败
我用sysytem.net类发送邮件。
用我的163邮箱发送到我的qq邮箱做测试。
结果是在我本地测试可以,但是放到服务器上就报错,我本地并没有装smtp虚拟服务,服务器上装了,但是我DeliveryMethod 用的是 SmtpDeliveryMethod.Network的方法啊,应该没问题啊。
本来怀疑是不是服务器防火墙或者公司防火墙或者路由把端口给封了,于是就在服务器那台机器上装了个foxmail,用我163的游邮箱给我qq邮箱发送测试邮件,没有任何问题。这我就头大了,现请教各路神仙该如何解决这个问题呢。
ps:报错如下
System.Net.Mail.SmtpException: 发送邮件失败。 ---> System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。 ---> System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接。 在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) 在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) --- 内部异常堆栈跟踪的结尾 --- 在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) 在 System.Net.DelegatedStream.Read(Byte[] buffer, Int32 offset, Int32 count) 在 System.Net.BufferedReadStream.Read(Byte[] buffer, Int32 offset, Int32 count) 在 System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine) 在 System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller) 在 System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port) 在 System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port) 在 System.Net.Mail.SmtpClient.GetConnection() 在 System.Net.Mail.SmtpClient.Send(MailMessage message) --- 内部异常堆栈跟踪的结尾 --- 在 System.Net.Mail.SmtpClient.Send(MailMessage message) 在 WebCSC._Default.SendEmail2(String str)