3

我遇到了一个让我发疯的问题!!!我有一个用于发送电子邮件的小型 Delphi 7 应用程序(使用 Indy 9 组件套件),一切正常。我正在尝试开发一个 C# 应用程序 (Visual Studio 2012) 做同样的事情,但在我所有的测试中(在互联网上发现了很多变化)结果总是“操作超时”。几年前我在一个 VS2005 C# 应用程序中测试了相同的代码并且它工作正常,但现在,错误发生在 VS2010(我的家)和 VS2012(工作)

ps:smtp服务器的配置是ok的,因为delphi app是工作的!

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 + ")");
      }
    }
  }
}

编辑:服务器防火墙阻止了我的测试。查看评论。

4

1 回答 1

2

我发现了问题。服务器防火墙阻止了我的测试。只需将其关闭,一切顺利。

于 2015-05-13T16:41:20.107 回答