Назад | Перейти на главную страницу

SmtpMail.Send (_MailMessage); не работает

Я использую виртуальный сервер smpt по умолчанию для отправки почты с помощью 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); 
    }

}

пожалуйста помоги!

Я собираюсь предположить, что служба SMTP на "localhost" неправильно настроена для ретрансляции почты. Это означает, что почтовый сервер должен иметь родительский почтовый сервер, с которым он взаимодействует, для отправки сообщений. Я вижу, это распространенная ошибка.

Статья MSDN о том, как настроить службу IIS SMTP для ретрансляции почты, должна вам помочь. Однако вам необходимо знать DNS-имя вашей компании или почтового сервера интернет-провайдера.

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