说明,在我的机器上面是可以发邮件的,我的机器配置:XP Sp2+.NET 2.0 sp1+IIS 5.x.
邮件可以正常发送.
但是放在运行环境:Win2000+.NET 2.0 sp1 +IIS 版本未知.就死活都发不出来右键.
下面是异常信息:
未处理的异常: System.Net.Mail.SmtpException: 发送邮件失败。 ---> System.IO.IOEx
ception: 无法从传输连接中读取数据: net_io_connectionclosed。
在 System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(Byte[] buffer, Int32 of
fset, Int32 read, Boolean readLine)
在 System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, B
oolean oneLine)
在 System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller)
在 System.Net.Mail.SmtpReplyReader.ReadLine()
在 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)
在 GetInfo_NJ.Mail.Send(String subject, String body)
在 GetInfo_NJ.Program.ChooseDBServer(String[] args)
在 GetInfo_NJ.Program.Main(String[] args)
可能是没有安装WINDOWS的组件SMTP服务。
不是SMTP服务问题,他是net2.0中PasswordRecovery控件
看看SMTP Server正确吗?参照下面的试试看,我在MSDN论坛上复制的
提醒一下,我一般是使用System.Web.Mail来发送,使用System.Net.Mail在发送附件时不行。
因此,如果你是Web页面的话,采用System.Web.Mail最好,如果是C/S的话,可以考虑用System.Net.Mail
请检查你服务器上是否装了病毒防火墙之类东西,如果装了,请检查是否对邮件的发生者进行限制,如果有这个策略,请将你的程序加入允许发送的列表中就可以了。
有的时候是邮箱的服务器不支持,比如2006年后申请的网易各种邮箱
我之前也因端口25没开放, 解除阻止就好了,
System.Net.Mail用不习惯, 总是提示验证失败, 用System.Web.Mail就可以发送.