gpt4 book ai didi

c# - 仅在某些计算机上获得 "no connection could be made because the target machine actively refused it"

转载 作者:行者123 更新时间:2023-11-30 22:14:35 26 4
gpt4 key购买 nike

该程序在同一网络内的多台计算机上运行。邮件通过内部服务器发送。当我尝试从 SmtpClient 发送电子邮件时,它在某些计算机上有效,但在其他计算机上却给了我:

“System.Net.WebException:无法连接到远程服务器 ---> System.Net.Sockets.SocketException:无法建立连接,因为目标机器主动拒绝它 10.1.0.74:25”

我已经尝试查找它,很多答案都在谈论防火墙或 smtp 服务器阻止请求。问题是它只在某些计算机上出错,我不确定防火墙设置应该是什么。

发送邮件的代码如下:

public void SendMessage(string subject, string messageBody, string fromAddress, string toAddress)
{
MailMessage message = new MailMessage();
SmtpClient client = new SmtpClient("10.1.0.74", 25);

// Set the sender's address
message.From = new MailAddress(fromAddress);

// Allow multiple "To" addresses to be separated by a semi-colon
if (toAddress.Trim().Length > 0)
{
foreach (string addr in toAddress.Split(';'))
{
if (addr.Trim() != "")
message.To.Add(new MailAddress(addr));
}
}

// Set the subject and message body text
message.Subject = subject;
message.Body = messageBody;
message.IsBodyHtml = true;

// Set the SMTP server to be used to send the message
//client.Host = "smtp.gmail.com";
System.Net.NetworkCredential a = new System.Net.NetworkCredential("User", "Pass");
//client.EnableSsl = true;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = a;
// Send the e-mail message
client.Send(message);
}

编辑:从无法正常工作的计算机对 IP 执行 ping 操作,得到以下信息。 enter image description here

最佳答案

在您的客户端中启用 SSL 并尝试其他端口:

client.EnableSsl = true;
client.Port = 587;
// or
client.Port = 465;

也可以用cmd命令查看连接情况:

telnet smtp.gmail.com 587

成功的响应通常是这样的:

220 mx.google.com ESMTP

关于c# - 仅在某些计算机上获得 "no connection could be made because the target machine actively refused it",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18449935/

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