2016-11-14 6 views
1

yahoo의 smtp를 사용하여 소프트웨어에서 전자 메일을 보내려고하지만 다음 오류가 표시됩니다. "SMTP 서버에 보안 연결이 필요하거나 클라이언트가 인증되지 않았습니다. 서버 응답은 5.7.1 인증 필요 "입니다.C# Windows 응용 프로그램에서 yahoo 메일을 보내는 중 인증 오류가 발생했습니다.

Google에서 보안 수준이 낮은 앱 설정에 대해 알고 있지만 야후의 설정에 대해서는 잘 모릅니다. 동일한 코드가 Gmail 계정 자격 증명으로 정상적으로 실행됩니다. 여기에 참조 용 코드가 있습니다.

string EmailFrom = "[email protected]"; 
     string EmailTo = "[email protected]"; 
     string PassWord = "test123"; 
     string EmailHost = "smtp.mail.yahoo.com"; 
     string status = ""; 
     string Body = ""; 

     MailMessage message = new MailMessage(); 
     SmtpClient smtp = new SmtpClient(); 

     message.From = new MailAddress(EmailFrom); 
     message.To.Add(new MailAddress(EmailTo)); 
     message.Subject = "Auto Backup at test" ; 
     message.Body = "Backup has been taken at test on" + DateTime.Now; 
     Body = "Backup has been taken at test on" + DateTime.Now; 
     smtp.Port = 587; 
     smtp.Host = EmailHost; 
     smtp.EnableSsl = true; 
     smtp.UseDefaultCredentials = false; 
     smtp.Credentials = new NetworkCredential(EmailFrom, PassWord); 
     smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
     //ServiceLogLibrary.WriteErrorlog("Step:5"); 
     //Library.WriteErrorlog("Before sending mail"); 
     smtp.Send(message); 

답변

3

당신은 선택에 덜 안전한 기호를 사용하는 앱을 허용

  1. Go to your "Account security" settings.
  2. 로 이동해야합니다.
  3. 거부 ​​또는 앱의 액세스를 해제, 원하지 않는 응용 프로그램을 선택 해제합니다.

출처 : Temporarily allow or deny access to apps using older security sign in

[Screenshot]

+0

: 완벽 –

+0

안녕 @mohit 근무 감사의 친구 : 나는 대답을 받아 들였다. 당신은 또한 질문을 upvoting하여 나를 도울 수 있습니다. 감사 –