通过IIS SMTP将电子邮件发送到外部地址

时间:2009-05-28 11:32:04

标签: asp.net iis smtp

使用以下代码通过IIS6 SMTP将电子邮件发送到外部电子邮件地址时,我收到一条消息,指出邮件已发送,但它从未到达目的地。我正在使用System.Net.Mail命名空间和以下代码:

MailMessage msg = new MailMessage();
msg.From = new MailAddress(from);

foreach (string strTo in to.Split(';'))
{
  if (strTo.Replace(";", "") != string.Empty)
    msgMailSummary.To.Add(new MailAddress(strTo.Replace(";", "")));
}
msg.Subject = subject;
msg.Body = body;

SmtpClient sm = new SmtpClient();
sm.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
sm.Credentials = new NetworkCredential(tbUsername.Text, tbPassword.Text);
sm.Host = host;
sm.Port = port;
sm.Send(msg);

我在IIS6中没有SmartHost设置,是否有任何明显或任何提示,我可以查看这些提示以使其正常工作?

3 个答案:

答案 0 :(得分:2)

嗯,你似乎错过了一个关键线......

msg.To = new MailAddress(to);

答案 1 :(得分:0)

我不确定我是否记得正确,但我曾经遇到过无法发送电子邮件的问题,因为我的发件人地址不是我的托管所允许的。基本上我最终只能设置ReplyTo并离开From undefined(smtp服务器将自己定义)。试试吧,它可能会奏效。

答案 2 :(得分:0)

原来是服务器上的设置未正确配置。