我有一个ASP.NET程序,它发送一封包含以下代码的确认电子邮件:
String msgTxt = "My Message";
try
{
MailMessage message = new MailMessage();
message.From = new MailAddress("info@eatrightamerica.com");
message.To.Add(new MailAddress(emailParam));
message.Bcc.Add(new MailAddress("NPClients@eatrightamerica.com"));
message.Subject = "Your Nutrition Prescription";
message.Body = msgTxt;
SmtpClient client = new SmtpClient();
client.Send(message);
}
catch (Exception ex)
{
}
web.config
文件包含:
<system.net>
<mailSettings>
<smtp>
<network
host="localhost"
port="25" />
</smtp>
</mailSettings>
</system.net>
我的IIS设置为在端口25上运行(我可以远程登录并测试它,它通过telnet发送就好了。)
有人可以指导我去其他地方寻找问题吗?
答案 0 :(得分:1)
您是否尝试通过备用 SmtpClient 构造函数设置SMTP服务器和端口?至少那会告诉我们问题不在于配置文件。
int port = 1234;
SmtpClient client = new SmtpClient("mail.mydomain.com", port);
client.Send(message);
答案 1 :(得分:1)
您运行代码的服务器是否在您的电子邮件环境中设置为SMTP中继?这可能是公司/企业环境中的一个问题。
答案 2 :(得分:0)
您是否尝试过指定smtp元素的deliveryMethod
属性?
<system.net>
<mailSettings>
<smtp deliveryMethod="network">
<network
host="localhost"
port="25" />
</smtp>
</mailSettings>
</system.net>
答案 3 :(得分:0)
你真的得到了例外吗?如果没有,您的邮件可能会被接受,但不会被发送到最终目的地。
检查mailroot \ badmail目录。它可能在那里有可能的问题解释(通常是DNS解析)。
您还可以为System.Net.Mail启用日志记录。这是我用更多信息写的链接: http://www.systemnetmail.com/faq/4.10.aspx