#c# #asp.net #smtp #smtpclient
#c# #asp.net #smtp #smtpclient
Вопрос:
Я использую ASP.NET Веб-формы и автоматическая отправка электронной почты через нашу систему электронной почты SMTP. В моем web.config я добавил это:
<mailSettings>
<smtp from="username@domain.com">
<network host="111.111.1.1" port="25" defaultCredentials="true" />
</smtp>
</mailSettings>
Сейчас я пишу этот код для отправки электронного письма:
MailMessage message = new MailMessage();
message.From = new MailAddress("username@domain.com");
message.To.Add(new MailAddress("username1@domain.com"));
message.CC.Add(new MailAddress("username2@domain.com"));
message.Subject = "Testing";
message.Body = bodymessage;
SmtpClient client = new SmtpClient();
client.Send(message);
В последней строке я получаю сообщение об ошибке:
{«Почтовый ящик недоступен. Ответ сервера был: 5.7.1 У клиента нет разрешений на отправку от имени этого отправителя»}
Что здесь не так?
Комментарии:
1. Поговорите с администратором вашего почтового сервера — очевидно, существуют ограничения на адрес From или другие ограничения, для которых вам нужно будет скорректировать свой код.
Ответ №1:
Возможно, существует аутентификация на SMTP-сервере? Попробуйте использовать
client.Credentials = new System.Net.NetworkCredential(username, password);
Ответ №2:
Это сообщение от вашего сервера ретрансляции SMTP. Ваш код работает нормально, но в сообщении, которое вы получаете обратно, говорится, что у вас нет разрешений на отправку от имени адреса электронной почты, который вы указали в поле «От».
Вот некоторые материалы, которые могут помочь:
- Вашему SMTP-серверу могут потребоваться учетные данные для авторизации
- Ваш SMTP-сервер может не разрешать отправку электронных писем с адресов за пределами текущего домена. Проконсультируйтесь с вашим провайдером.
- Возможно, потребуется добавить адрес электронной почты в список исключений
Ответ №3:
SMTP не настроен должным образом на сервере. Проверьте IIS сервера или обратитесь в службу поддержки хостинга.