我正在尝试使用 System.Net.Mail 作为应用程序发送电子邮件,但出现此异常:
System.Net.Mail.SmtpException:发送邮件失败。 --->
System.Net.WebException:无法连接到远程服务器 --->
System.Net.Sockets.SocketException:无法建立连接
因为目标机主动拒绝198.238.39.170:25
我正在使用的代码是:
string mailserver = "Scanmail.ofm.wa.lcl";
MailMessage msg = new MailMessage("[email protected] /cdn-cgi/l/email-protection", "[email protected] /cdn-cgi/l/email-protection", "Very subjective", "A message body!");
SmtpClient client = new SmtpClient(mailserver);
client.Send(msg);
显然上面的电子邮件地址是虚构的,但在实际代码中它使用系统中真实的电子邮件地址。邮件服务器地址准确。
我很想认为我需要在其中放置某种安全凭证,但不确定在哪里 - 尽管@Andre_Calil的建议表明这不是问题,并且可能邮件服务器配置为阻止我的开发计算机连接。那么如何克服这个问题呢?
因此,正如我们所说,您的服务器可能配置为拒绝来自每台计算机的中继,这是推荐的安全设置。
在您的开发计算机上,打开一个提示符 (command
)并输入telnet SMTP_SERVER_IP_ADDRESS 25
。此命令将尝试在端口 25(默认 SMTP 端口)上建立基本套接字连接。如果成功,您仍然需要了解服务器是否需要身份验证。
但是,如果不成功,您将不得不暂停代码,直到获得系统管理员的帮助。
另一件要尝试的事情是从一个重复相同的测试应用服务器,因为 SMTP 服务器可以配置为allow app_server
and deny everybody_else
.
Regards
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)