发送邮件失败(SmtpClient)

时间:2009-09-11 10:58:00

标签: .net

我的代码如下:

var smtpClient = new SmtpClient("my.mail.server");
smtpClient.Send(mailmessage);

然而,send方法调用失败并显示“远程机器主动拒绝”异常消息。我知道没有防火墙阻止因为我可以telnet到相同的地址并通过服务器手动操作Smtp协议。我知道代码正在运行,因为我可以连接到与默认25不同的端口。没有软件防火墙阻止传输。

当wireharking我可以看到telnet时设置的包,我可以看到当我尝试使用代码时没有任何东西离开我的机器。因此,可以安全地假设问题出在我的机器上并且与网络无关。

基本上我可以使用除.NET代码以外的所有内容连接到该地址,这导致我的问题可能是一个配置问题,但我不知道我需要配置不同的地方和内容。对可能原因的任何建议?

编辑: 在只有两行发送邮件的项目中,我遇到了同样的问题。当尝试通过代码建立TCP连接时,我遇到了同样的问题,所以我知道它与SMTP协议(或身份验证)无关,问题是TCP套接字连接尝试被阻止但我仍然不知道为什么

3 个答案:

答案 0 :(得分:3)

你在运行什么操作系统?我现在说明显而易见的,并询问您是否已经验证Windows防火墙已关闭?(我看到您的软件防火墙评论但这往往被忽视)

同时尝试验证正在使用的端口,因为我们必须使用我们的端口 - >

SmtpClient smtpClient = new SmtpClient("OURMAIL",25);
smtpClient.Send(message);

Exchange Ports

答案 1 :(得分:1)

您是否检查过SMTP服务器的配置?它可以配置为不允许匿名连接或拒绝您的IP地址。

您可以使用其他客户端通过SMTP服务器发送电子邮件,例如前景?

答案 2 :(得分:1)

好吧系统管理员似乎已经忘记了他们已经安装了两个防火墙......(只花了我两天左右的时间)到端口25我们的防病毒软件还包括反垃圾邮件。感谢大家的想法和建议