【发布时间】:2011-02-07 02:49:37
【问题描述】:
我发现这个网站对我以前遇到的所有问题都非常有用,但是我无法获得以下帮助。
我开发了一个可以发送电子邮件的网站。在本地主机上,这绝对正常。当我说本地主机时,我能够接收发送的电子邮件,但是当我上传到服务器时,当它开始发送电子邮件的过程时我会遇到这个错误。
“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应IPADDRESS:PORT”
尝试 ping 端口地址,ping 正常。
这里是代码
string strFrm = ConfigurationManager.AppSettings["FromAddress3"].ToString();
string[] receive = {"emailaddress1","emailaddress2","emailaddress3","emailaddress4"};
string subject = "New registration";
string body = "<html><head><title>Registered Candidates</title></head><body>bla bla bla</body></html>";
//I however have put reg exp validator on the form
if(txtEmail.Text.Contains("@") && txtEmail.Text.Contains("."))
{
for (int i = 0; i <= receive.Length - 1; i++)
{
MailMessage msg = new MailMessage(strFrm, receive[i], subject, body);
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.Send(msg);
}
Response.Redirect("Thankyou.html");
Web.config
<mailSettings>
<smtp from="from address">
<network host="server" port="25"
userName="username" password="password" />
</smtp>
</mailSettings>
请帮忙。我通过网站的预编译上传到我的服务器并上传文件。
【问题讨论】:
-
生产服务器是否在 localhost 上启用了 SMTP?您是否在 Web.config 中配置了 SMTP 设置?
-
感谢雅各布的回复。即使在我的本地主机中,程序也会连接到 SMTP 服务器,然后将邮件发送到提供的电子邮件地址。是的。我已经在 web config 中配置了设置,正如您在上面看到的那样,我在发送邮件时尝试覆盖这些设置。
-
您似乎没有覆盖 SMTP 地址?你确定服务器启用了 SMTP 吗?
-
抱歉,我只是覆盖了凭据。但是,我更改了 web.config。它看起来像这样
并已删除 NetworkCredential nc = new NetworkCredential(Usr, Pwd); client.UseDefaultCredentials = false; client.Credentials = nc;来自程序。
标签: asp.net