В прошлом я мог успешно отправлять электронные письма с помощью Indy и Hotmail, но когда я пытаюсь отправить с помощью учетной записи Outlook, я всегда получаю ошибку «Ошибка аутентификации». Мое имя пользователя и пароль верны, я могу войти на веб-почту Outlook.com.Отправка электронной почты с помощью Outlook.com с использованием Indy
Вот мой код:
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);
В 2-аутентификации, пароль приложения специфичное используются только для приложений, которые не поддерживают новые методы аутентификации для 2-ступенчатой, как OAuth. Те, кто это делает, могут использовать действительный пароль учетной записи. –
Я использую для отправки, используя hotmail, а не Outlook; возможно, есть различия между установкой в обоих? – delphirules
@RemyLebeau Правильно, но Indy не поддерживает его, хотя ... не так ли? Недавно я не проверял. –