无法发送邮件(邮件中继错误),请在SMTP邮件服务器中进行所有设置

时间:2013-09-24 12:47:20

标签: c# smtp sendmail

我已完成所有设置,我尝试了点击和试用,指定了IP等但仍然无法从我的c#代码发送邮件(在我的域外,在其罚款范围内)。

如果我尝试通过在web配置中指定凭据来发送邮件,那么我可以在我的域外发送邮件。但那不是我想要的。

当我尝试通过我的代码发送时,我在SMTP上进行设置,允许中继并指定域,这不起作用。

我选中了复选框,其中指出将邮件发送到所有地址等。这也无效。

我哪里错了?

我的代码:

当我在网络配置中指定时:

<system.net>
<mailSettings>
  <smtp deliveryMethod="Network" from="abc@..com">
    <network enableSsl="false" host="hostname" port="25" userName="abc" password="abc#" defaultCredentials="false" clientDomain="domainname"/>
  </smtp>
</mailSettings>

通过代码指定时:

using (smtp)
{
smtp.Host = "hostname";
smtp.UseDefaultCredentials = false;
smtp.Port = 25;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("abc@newgen.co.in", "abc123#");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
}

服务器中的这些设置,但没有成功。 enter image description here

1 个答案:

答案 0 :(得分:1)

如果您不想在配置文件中拥有凭据,则必须在SMTP服务中为IP地址启用中继访问。根据您的屏幕截图,只允许中继经过身份验证的连接。

通常有助于启用SMTP服务的日志记录,以便您可以准确地查看客户端尝试使用SMTP服务的位置和方式。