Невозможно отправить письмо через локальный SMTP-сервер

Я работаю с отправкой электронной почты через C# в asp.net, с IIS7. Но я не смог исправить ошибку.

Я даже не могу отправить сообщение по этому пути

C:\ Inetpub\ Mailroot\Queue

Это самый простой код, который я использовал

MailMessage m = new MailMessage();
    m.From = TextBox1.Text;
    m.To = TextBox2.Text;
    m.Subject = TextBox3.Text;
    m.Body = TextBox4.Text;
    SmtpMail.SmtpServer = "localhost"; //your real server goes here
    SmtpMail.Send(m);

примечание: что я вручную создал этот путь, не так ли? или должен быть создан автоматически?

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

2 ответа

Если вы создали путь вручную, то на вашем компьютере не установлена ​​служба SMTP (при условии, что вы собираетесь использовать этот, а не сторонний SMTP-сервер).

Вы можете проверить это, посмотрев в список служб (я полагаю, это начинается с Simple Mail Transport...).

Возможно, отсутствует SmtpCredentials? И, как говорили первые спикеры, SmtpServer действительно локальный, что означает, что у вас есть smtpserver на вашей машине?

Я отправил SMTP-сообщение для отправки сом-сообщений из моей работающей программы, возможно, вы найдете в этом что-то, что может вам помочь?

Похоже на это.

public class Email
{
    public Email(string recieverAdress)
    {
        mail = new MailMessage(senderAdress, recieverAdress);
    }

    private readonly MailMessage mail;
    private readonly SmtpClient smtpClient = new SmtpClient("smtp.domain.com", port);
    private readonly NetworkCredential credential = new NetworkCredential("username", "password");

    public void SendMail(string subject, string textInBody)
    {
        mail.Subject = DateTime.Now + " " + subject;
        mail.Body = textInBody;
        smtpClient.Credentials = credential;
        smtpClient.Send(mail);
    }
}
Другие вопросы по тегам