gpt4 book ai didi

c# - 使用 SmtpClient,得到 "the target machine actively refused it"

转载 作者:太空狗 更新时间:2023-10-29 21:13:46 27 4
gpt4 key购买 nike

我正在尝试使用 System.Net.Mail 为应用程序发送电子邮件,但出现此异常:

System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 198.238.39.170:25

我使用的代码是:

string mailserver = "Scanmail.ofm.wa.lcl";
MailMessage msg = new MailMessage("albert@einstein.net", "snark@snarky.com", "Very subjective", "A message body!");
SmtpClient client = new SmtpClient(mailserver);
client.Send(msg);

显然上面的电子邮件地址是虚构的,但在实际代码中它使用系统中的真实电子邮件地址。邮件服务器地址是准确的。

我很想认为我需要在其中放置某种安全凭证,但不确定放在哪里 - 尽管@Andre_Calil 的建议表明这不是问题所在,并且邮件服务器可能配置为阻止我的开发机器从连接。那么如何克服呢?

最佳答案

因此,正如我们所说,您的服务器可能配置为拒绝来自每台机器的中继,这是推荐的安全设置。

在您的开发机器上,打开提示符(命令)并键入telnet SMTP_SERVER_IP_ADDRESS 25。此命令将尝试在端口 25(默认的 SMTP 端口)上建立基本套接字连接。如果成功,您仍然需要发现服务器是否需要身份验证。

但是,如果不成功,您将不得不暂停您的代码,直到获得系统管理员的帮助。

要尝试的另一件事是从应用服务器重复同样的测试,因为 SMTP 服务器可能被配置为allow app_serverdeny everybody_else.

问候

关于c# - 使用 SmtpClient,得到 "the target machine actively refused it",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11621373/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com