SmtpMail.Send(_MailMessage); 不起作用

SmtpMail.Send(_MailMessage); 不起作用

我正在使用默认的 smpt virtula 服务器通过 c# 发送邮件,但它不发送任何邮件,也不会引发任何异常 public static void SendEmail(string _FromEmail, string _ToEmail, string _Subject, string _EmailBody) {

    // setup email header . 
    SmtpMail.SmtpServer = "localhost";
    MailMessage _MailMessage = new MailMessage();

    _MailMessage.From = _FromEmail;
    _MailMessage.To = _ToEmail;
    _MailMessage.Subject = _Subject;
    _MailMessage.Body = _EmailBody;

    try
    {
        SmtpMail.Send(_MailMessage);
    }
    catch (Exception ex)
    {

        throw new ApplicationException("error has occured: " + ex.Message); 
    }

}

请帮忙!

答案1

我猜想“localhost”上的 SMTP 服务未正确设置邮件中继。这意味着邮件服务器需要有一个与其通信的父邮件服务器才能发送消息。这是我看到的一个常见错误。

有关如何设置 IIS SMTP 服务以进行邮件中继的 MSDN 文章应该会对您有所帮助。但是,您需要知道公司或 ISP 邮件服务器的 DNS 名称。

http://support.microsoft.com/kb/230235

相关内容