Невозможно отправить письмо через локальный 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);
}
}