Использование класса MailMessage - PullRequest
1 голос
/ 02 ноября 2011

Я использую класс MailMessage для отправки электронных писем

 MailMessage msg = new MailMessage(fromAddr, toAddr);

, когда я создаю новый объект MailMessage, он автоматически получает хост, используя, например, fromAddr..au принимает хост как pindoc.com.au, но у меня другое имя для host.so имя хоста неверное. Думаю, из-за этого я получаю следующую ошибку.

{"Почтовый ящик недоступен. Ответ сервера: 5.7.1 Невозможно передать "} System.Exception {System.Net.Mail.SmtpFailedRecipientException}

как я могу решить эту проблему?

Ответы [ 3 ]

2 голосов
/ 02 ноября 2011

Вы проверили mailSettings?Пример web.config ниже:

<system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="no-reply@yourdomain.com">
      <network defaultCredentials="true" host="mail.yourdomain.com" port="25"/>
   </smtp>
 </mailSettings>
</system.net>
1 голос
/ 02 ноября 2011

вы можете указать почтовый сервер при создании экземпляра объекта SmtpClient (а также другие детали, такие как номера портов и аутентификация)

SmtpClient client = new SmtpClient("different.hostname"); // specify your hostname
client.Send(msg);

Вы также можете указать свои smtp-данные в web.config или app.config , и SmtpClient подберет их автоматически ...

SmtpClient client = new SmtpClient();
client.Send(msg);
0 голосов
/ 02 ноября 2011

Как правило, я буду использовать SmtpClient для отправки сообщений. Его конструктор принимает хост и порт:

SmtpClient mailClient = new SmtpClient("mail.domain.com", 25);
mailClient.Send(msg);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...