2016-06-27 2 views
0

이전에는 Indy 및 Hotmail에서 성공적으로 이메일을 보낼 수 있었지만 Outlook 계정을 사용하여 전송하려고하면 항상 '인증에 실패했습니다.'라는 오류 메시지가 표시됩니다. 내 사용자 이름과 암호가 정확합니다. Outlook.com 웹 메일에 로그온 할 수 있습니다.Indy를 사용하여 Outlook.com에서 이메일 보내기

당신은 당신의 코드 제로 변경 한, 그것은 작동을 중지하기로 결정하는 경우
idsmtp1.Host := 'smtp.outlook.com'; 
idsmtp1.port := 587; 
idsmtp1.Username := '[email protected]'; 
idsmtp1.Password := 'mypassword'; 
idsmtp1.IOHandler := IdSSLIOHandlerSocketOpenSSL1; 
idsmtp1.usetls := utUseExplicitTLS; 
idsmtp1.UseEhlo := true ; 

IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1; 
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmClient; 

idsmtp1.connect; 
idsmtp1.Send(idmessage1); 

답변

3

는 다음 Outlook.com 계정 인증 문제가 있습니다 :

여기 내 코드입니다.

2 단계 인증을 사용 설정하고 애플리케이션 비밀번호를 만들어야 할 가능성이 큽니다. 전자 메일 서비스는 일반적으로 응용 프로그램이보다 최신 로그인 방법을 지원하지 않는 한 표준 암호를 사용하지 못하게하며 계정에 액세스하도록 응용 프로그램을 설정해야합니다. 앱 비밀번호 섹션에 액세스하려면 먼저 2 단계 인증을 사용 설정해야합니다.

enter image description here

이 2 단계 인증에서 Outlook.com > Options > Account Details > Security & Privacy > More Security Settings

+2

에 위치 할 수 있으며, 앱 비밀번호는 OAuth를 같은 새로운 2 단계 인증 방법을 지원하지 않는 응용 프로그램에 사용됩니다. 그런 경우 실제 계정 암호를 사용할 수 있습니다. –

+0

Outlook을 사용하지 않고 hotmail을 사용하여 보냅니다. 어쩌면 둘 다 설정 사이에 차이가 있습니까? – delphirules

+0

@RemyLebeau 맞긴하지만 Indy는 지원하지 않습니다 ... 그렇습니까? 나는 최근에 확인하지 않았다. –

관련 문제