2015-11-08 8 views
2

Я много исследовал и не нашел рабочих решений для моей проблемы в настоящее время. Я хочу отправить электронное письмо по электронной почте с помощью своего SMTP-сервера. Я получаю ошибку:Отправка электронной почты через smtp-сервер outlook

«почтовый ящик недоступен ответ сервера был:. 5.7.3 Требуемое действие прерывалось, пользователь не прошел проверку подлинности»

Я пытался работать с моим брандмауэром, пытаясь включить настройки SMTP в моем учетную запись и пару других решений, которые я нашел на этом сайте, и другие, но ничего не работает. В моей недавней активности в Outlook/Windows я не вижу доступа к SMTP, только мой текущий вход, хотя он говорит, что я подключаюсь.

Я не против того, чтобы с помощью другого SMTP-сервера Я работаю с C#/ASP.NET Это мой код:

 public static void Email(string name, string recipient, string address, string email, string info) 
    { 
     MailMessage mailMsg = new MailMessage(); 
     mailMsg.To.Add(new MailAddress(email)); 
     // From 
     MailAddress mailAddress = new MailAddress("[email protected]"); 
     mailMsg.From = mailAddress; 

     //Content 
     mailMsg.Subject = "Secret Santa"; 
     mailMsg.Body = name + ", your target is " + recipient + ". Please spread the holiday cheer with a soft cap of $20! From an automated mail service"; 

     //SmtpClient 
     SmtpClient smtpConnection = new SmtpClient("smtp.live.com", 587); 
     smtpConnection.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); 
     smtpConnection.UseDefaultCredentials = true; 

     smtpConnection.EnableSsl = true; 
     smtpConnection.DeliveryMethod = SmtpDeliveryMethod.Network; 
     smtpConnection.Send(mailMsg); 
    } 
+0

Вы видели следующее сообщение в блоге: [Отправить письмо с использованием Hotmail/Live/Office 365 в C#] (https://www.emailarchitect.net/easendmail/kb/csharp.aspx?cat=4) – KiwiPiet

ответ

1

Попробуйте следующий код:

smtpConnection.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); 

smtpConnection.UseDefaultCredentials = true; 

You предоставить свои собственные учетные данные для аутентификации, поэтому вам необходимо установить UseDefaultCredentials в false. В противном случае SmtpClient не может пройти аутентификацию, и вы получите сообщение об ошибке.

+0

Спасибо так много! –

Смежные вопросы