SmtpClient邮件发送超时。

3
我面临一个让我疯狂的问题!!! 我有一个小型Delphi 7应用程序(使用Indy 9组件套件)用于发送电子邮件,一切正常。 我正在尝试开发一个C#应用程序(Visual Studio 2012),它可以执行相同的操作,但在我所有的测试中(使用互联网上找到的很多变化),结果总是“操作超时”。 几年前,我在VS2005 C#应用程序中测试了相同的代码,并且它可以工作,但现在,在VS2010(我的家)和VS2012(工作)中都出现错误。
Ps:SMTP服务器的配置是正确的,因为Delphi应用程序正在工作!
Ps2:为了避免防病毒软件/代理问题,我已经在不同的机器上测试了此代码,并且在家里和工作时结果始终相同。
以下是C#代码片段:
private void button7_Click(object sender, EventArgs e)
{
  using (var msg = new MailMessage("fromMail@myServer.com.br", "toMail@myServer.com.br", "Teste de Envio de E-mail em C#", "Mensagem enviada utilizando app em C#"))
  {
    using(var smtpClient = new SmtpClient("smtp.myServer.com.br", 465))
    {
      smtpClient.EnableSsl = true;
      smtpClient.Timeout = 2 * 60 * 1000;
      smtpClient.UseDefaultCredentials = false;
      smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
      smtpClient.Credentials = new NetworkCredential(msg.From.User, "mypassword");
      try
      {
        smtpClient.Send(msg);
      }
      catch (SmtpException ex)
      {
        MessageBox.Show("Erro ao enviar e-mail: " + ex.Message + "(" + ex.StatusCode + ")");
      }
    }
  }
}

已编辑:服务器防火墙屏蔽了我的测试。请查看评论。


检查您的 SMTP 端口号。对于每个服务器,它都会发生变化。 - Ankush Madankar
感谢您的评论,但如上所述,配置是正确的。Delphi 应用程序可以工作。 - Valmir
1
Windows防火墙是否可能阻止了您的应用程序?另外,请将整个异常信息,包括堆栈跟踪,粘贴到您的消息中。 - Jim Mischel
1
谢谢@jim-mischel,我发现在我的工作中,服务器防火墙正在阻止我的测试。非常感谢。 - Valmir
1个回答

2

我找到了问题所在。服务器防火墙阻止了我的测试。只需将其关闭,一切都很顺利。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接