ASP.NET发送邮件,本地测试通过,放到服务器上却出现" 由于目标机器积极拒绝,无法连接",请高手解答
我放在本机IIS运行没有问题,但是放到服务器上后就出现了"System.Net.Sockets.SocketException: 由于目标机器积极拒绝,无法连接。"
百思不得其解...
望高手帮忙指点下..感激不尽..
邮件发送的代码如下:
C# code
protected void sendMail(string receiveMail,string sendMail,string mailServer,string
UserName,string PassWord,string Subject,string Content)
{
//发送邮件,直接发送带有用户名,密码的邮件,因为密码没有加密。
System.Net.Mail.SmtpClient client = new SmtpClient(mailServer);
client.UseDefaultCredentials = false;
//下面的用户名密码填写自己在163的用户名密码,也可以修改上面的SMTP服务器
client.Credentials = new System.Net.NetworkCredential(UserName, PassWord);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
//创建MailMessage对象,参数分别为发件人地址,信件标题,信件正文
System.Net.Mail.MailMessage message = new MailMessage(sendMail, receiveMail,Subject,Content);
message.BodyEncoding = System.Text.Encoding.UTF8; //编码
message.IsBodyHtml = true; //是否是HTML代码
client.Send(message); //发送
}
------解决方案--------------------这个是因为对方将你这个视为垃圾邮件给屏蔽了
------解决方案--------------------给你篇文章参考一下:
发邮件由于目标机器积极拒绝,无法连接
重要说明:本文向您介绍如何在计算机上降低安全设置或关闭安全功能。您可以通过这些更改来解决特定的问题。我们建议您在进行更改之前,充分考虑在您的特定环境中实施这种替代方法可能带来的风险。如果实施该替代方法,请采取任何适当的附加措施来保护您的系统。
警告:此替代方法可能导致您的计算机或网络更易于受到恶意用户或恶意软件(如病毒)的攻击。我们不建议您采用这种替代方法,此信息仅供参考,您应自行决定是否实施此替代方法。使用此替代方法需要您自担风险。
注意:设计防病毒程序是为了帮助保护您的计算机不受病毒侵害。一定不要从您不信任的来源下载或打开文件,也不要访问不信任的网站或者在禁用防病毒程序时打开电子邮件附件。
有关计算机病毒的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
129972 (http://support.microsoft.com/kb/129972/) 计算机病毒:说明、预防和恢复
症状
当您尝试使用 Outlook Express 或 Outlook 发送或接收邮件时,可能会收到错误信息。当您尝试将邮件发送到简单邮件传输协议 (SMTP) 服务器时,可能会收到以下错误信息:
The connection to the server has failed.Account:''your_account'',
Server:''your_SMTP_server'', Protocol:SMTP, Port:25, Secure(SSL):NO,
Socket error:10061, Error Number:0x800ccc0e
同样,当您启动电子邮件客户端或尝试从邮局协议版本 3 (POP3) 服务器接收邮件时,可能会收到以下错误:
The connection to the server has failed.Account:''your_account'',
Server:''your_POP3_server'', Protocol:POP3, Port:110, Secure(SSL):NO,
Socket error:10061, Error Number:0x800ccc0e
原因
客户端连接到的邮件服务器上的端口被阻止或不可用。如果客户端尝试发送邮件,阻止的端口是 25;如果客户端尝试检索邮件,则阻止的端口是 110。请参考错误信息中的协议和端口号。
替代方法
要解决此问题,请使端口 110 和 25 可用。默认情况下,当 Exchange Server 服务启动时,端口 110 和 25 可用。当信息存储服务启动时,端口 110(用于 POP3)、端口 119(用于网络新闻传输协议 (NNTP))和端口 143(用于 Internet 邮件访问协议 (IMAP))在 Exchange Server 计算机上自动打开并变得可用。当 Internet 邮件服务启动时,端口 25 自动变得可用。如果这些服务不启动,这些端口就不可用。
如果这些服务正在运行,您可以使用 Windows NT Server 中包含的 Netstat 实用工具来验证服务器上的这些端口是否正在侦听(打开): 1. 在 Exchange Server 计算机上打开一个命令提示符。由于数据滚出了屏幕,因此您必须修改命令提示符属性。打开命令提示符,右键单击窗口左上角,然后单击属性。单击布局选项卡,然后将屏幕缓冲区大小改为 1,000。应用此更改。系统会提示您修改当前窗口或修改用于启动命令提示符的快捷方式。为了将来方便,您可以修改快捷方式。
2. 在命令提示符处,键入 netstat -an。回滚到数据输出的开始位置,查找以下项。
Proto Local Address Foreign Address State
TCP 0.0.0.0:25 0.0.0.0:0 LISTENING
TCP 0.0.0.0:110 0.0.0.0:0 LISTENING
如果这些项存在,说明 Exchange Server 正在所有接口的端口 110 和 25 上侦听。这是典型行为。如果这些端口不可用,可能需要进一步解决以下服务或系统问题。以下这些一般的原因可能“占据”这些端口,或使它们不可用: ? Exchange Server 信息存储服务没有运行,或者 POP3 协议未启用并且没有侦听端口 110。请验证信息存储服务是否正在运行。 有关 POP3 协议疑难解答的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
161118 (http://support.microsoft.com/kb/161118/) XCLN:Exchange Server 的 POP3 连接疑难解答
? Internet 邮件服务未运行或者没有在端口 25 上侦听。请验证 Internet 邮件服务是否正在运行。 有关测试 Internet 邮件服务和端口 25 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
153119 (http://support.microsoft.com/kb/153119/) XFOR:Telnet 到端口 25 以测试 SMTP 通信
? 位于客户端和服务器之间的代理服务器可能阻止访问 Exchange Server 计算机上的这些端口。 有关