Отправка автоматической электронной почты с использованием адреса электронной почты компании - PullRequest
0 голосов
/ 08 мая 2020

У меня есть метод, который в основном автоматизирует отправку электронного письма в список рассылки нашей компании с адресом электронной почты моей компании в качестве отправителя. Звучит довольно просто; однако я продолжаю получать исключение каждый раз, когда пытаюсь выполнить метод. Я также пробовал это в своей личной учетной записи office365, и он работает отлично, проблема возникает только тогда, когда я использую свой корпоративный адрес электронной почты.

Выброшено исключение: 'System. Net .Mail .SmtpException 'в System.dll

Вот моя настройка smtp (мы используем Outlook).

SmtpClient smtp = new SmtpClient("smtp.live.com", 587);
smtp.Credentials = new NetworkCredential(fromEmail, Password);
smtp.EnableSsl = true;
smtp.Send(mail);

Я думаю, что мне следует использовать нашу собственную версию «smtp. live.com "если есть, а может быть, использовать другой порт? Я пробовал использовать порт 25, но проблема не исчезла.

Ответы [ 2 ]

1 голос
/ 15 мая 2020

Попробуйте удалить эту строку:

smtp.EnableSsl = true;

и добавьте эту строку:

smtp.ConnectType = SmtpConnectType.ConnectSSLAuto;

Также следующее решение пытается удалить только эту строку:

smtp.EnableSsl = true;

Я почти уверен, что это сработает. Попробуйте использовать другие порты (25, 587 или 465) или вообще без порта.

1 голос
/ 14 мая 2020

Немного более подробные сведения о личной учетной записи office365 и электронной почты компании (прогноз) настройки вместе с полной трассировкой стека ошибок помогли бы нам лучше проанализировать проблему . Однако вот некоторые идеи:


Отправка автоматической электронной почты с использованием личной учетной записи Office365

Параметры SMTP для отправки автоматической электронной почты с использованием Microsoft 365 следующие:

  • Сервер : smtp.office365.com
  • Порт : 587
  • Шифрование : STARTTLS

Автоматическая отправка электронной почты с использованием корпоративной учетной записи электронной почты

Если ваша организация использует Outlook.com/Hotmail.com/Live.com в качестве поставщика электронной почты, настройки SMTP идентичны:

  • Сервер : smtp.office365.com
  • Порт : 587
  • Шифрование : STARTTLS

Автоматическая отправка электронной почты с использованием корпоративной учетной записи электронной почты

Если ваша организация использует Outlook.com/Hotmail.com/Live.com в качестве поставщика электронной почты, параметры SMTP идентично:

  • Сервер : smtp.office365.com
  • Порт : 587
  • Шифрование : STARTTLS

Ссылка: Вы можете найти соответствующую документацию в Настройки электронной почты POP и IMAP для Outlook

Автоматическая отправка электронной почты с использованием Windows Live Hotmail SMTP Settings

Если вы собираетесь использовать Windows Live Hotmail SMTP, настройки:

  • SMTP-сервер Hotmail : smtp.live.com
  • Имя пользователя SMTP Hotmail : Полный Windows Живой адрес электронной почты Hotmail (например, KentAbrio@hotmail.com или KentAbrio@live.com)
  • Пароль SMTP Hotmail : Ваш Windows Пароль Live Hotmail
  • Порт SMTP Hotmail : 587
  • Hotmail SMTP TLS / Требуется SSL : Да

Ссылка: Вы можете найти соответствующую документацию в Windows Live Hotmail SMTP Settings


Пример кода

SmtpClient client = new SmtpClient();
client.Port = 587;
client.Host = "smtp.office365.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(fromEmail, "Password");
MailMessage mm = new MailMessage("KentAbrio@hotmail.com", "KentAbrio@live.com", "test", "test");
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send(mm);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...