我已完成所有设置,我尝试了点击和试用,指定了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;
}
服务器中的这些设置,但没有成功。
答案 0 :(得分:1)
如果您不想在配置文件中拥有凭据,则必须在SMTP服务中为IP地址启用中继访问。根据您的屏幕截图,只允许中继经过身份验证的连接。
通常有助于启用SMTP服务的日志记录,以便您可以准确地查看客户端尝试使用SMTP服务的位置和方式。