как или Невозможно отправить почту через офис 365 smtp - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь отправить почту через SMTP-сервер office365, но появляется сообщение «Ошибка отправки почты». В подробном отчете сказано: "{" Невозможно прочитать данные из транспортного соединения: net_io_connectionclosed. "}"

вот мой код

public string SendEmail(string To, string Sub, string Desc)
    {
       string mess = "";
        MailMessage mail = new MailMessage();
        mail.Subject = Sub;
        mail.From = new MailAddress(SenderEmail);
        mail.To.Add(To);
        mail.Body = Desc;
        mail.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient("smtp-mail.outlook.com", 587);
        smtp.EnableSsl = true;
        smtp.UseDefaultCredentials = false;
        NetworkCredential netCre = new NetworkCredential(SenderEmail, SenderPass);
        smtp.Credentials = netCre;
        try
        {
            smtp.Send(mail);
            mess = "Success";
        }
        catch (Exception ex)
        {
            mess = "Fail";
            return ex.Message;
        }
       return mess;
    }

Web.config будет

           <add key="Sendermail" value="email" />
           <add key="SenderPassword" value="password" />

Примечание: адрес электронной почты настроен для домена. Когда я пытаюсь использовать SMTP-порт Gmail для отправки почты, он работает нормально, только для Outlook (Office365) я сталкиваюсь с проблемой

1 Ответ

0 голосов
/ 02 апреля 2020

В целом ваши решения кажутся правильными, хотя может быть несколько причин, вызывающих его из-за проблем TLS или хоста. Вы пробовали smtp.office365.com в качестве сервера / хоста?

Несколько других вариантов для проверки / тестирования можно найти здесь:

https://docs.microsoft.com/en-us/exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-device-or-application-to-send-email-using-office-3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...