0

我已经完成了所有设置,我尝试了点击和试用,指定了 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;
}

在服务器上进行这些设置,但没有成功。 在此处输入图像描述

4

1 回答 1

1

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

它通常有助于在 SMTP 服务上启用日志记录,这样您就可以准确地看到客户端尝试使用 SMTP 服务的位置和方式。

于 2013-09-30T09:17:10.350 回答