发送邮件时无法连接到远程服务器

时间:2014-05-18 10:19:30

标签: c# email smtp smtpclient mailmessage

我正在使用下面的代码发送电子邮件,但它不起作用并且例外:

MailDefinition md = new MailDefinition();
md.IsBodyHtml = true;
md.From = EMAIL_FROM;
md.Subject = "لینک تغییر رمز";
MailMessage mm = md.CreateMailMessage(to, null, new System.Web.UI.Control());
string body = link;
mm.Body = body;
SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = false;
smtp.Host = EMAIL_SMTP;
smtp.Port = EMAIL_PORT;
smtp.Credentials = new System.Net.NetworkCredential(EMAIL_FROM, EMAIL_PASSWORD);
smtp.Send(mm);

发件人用户名&密码检查正确,端口是25,smtp是mail.kawp.co.ir,在发送函数时,它会抛出异常,并显示以下错误消息

{"Unable to connect to the remote server"}
{"A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond xx.xxx.xx.xx:25"}

我在同一台服务器上托管的其他域使用相同的方法和功能,但它们运行正常。可能导致这个问题的原因是什么?

p.s :我也无法通过telnet与mail.kawp.co.ir 25握手

提前致谢

2 个答案:

答案 0 :(得分:1)

将端口25更改为587解决了我的问题,因为我的isp阻止端口25以防止发送垃圾邮件。

答案 1 :(得分:0)

如果您无法使用Telnet执行握手,那么您将不会以编程方式进行连接。从它的声音来看,服务器未配置为接受SMTP消息。在使代码生效之前,您需要启用它。

相关问题