我遇到一个让我疯狂的问题! 我有一个小的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 + ")");
}
}
}
}
编辑:服务器防火墙阻止了我的测试。查看评论。
答案 0 :(得分:2)
我发现了问题。服务器防火墙阻止了我的测试。 关掉它,一切都很顺利。