以前は、IndyとHotmailを使用してメールを正常に送信できましたが、Outlookアカウントを使用して送信しようとすると、常に「認証に失敗しました」というエラーが発生します。ユーザー名とパスワードが正しいので、Outlook.comのWebメールにログオンできます。
これが私のコードです:
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);
コードにまったく変更を加えず、動作を停止することにした場合は、Outlook.comアカウントに認証の問題があります。
ほとんどの場合、2段階認証プロセスを有効にして、アプリケーションパスワードを作成する必要があります。メールサービスは通常、アプリが最新のログイン方法をサポートしていない限り、標準のパスワードの使用をブロックし、アカウントにアクセスするためのアプリケーションをセットアップするように強制します。アプリのパスワードセクションにアクセスする前に、まず2段階認証プロセスを有効にする必要があります。
これらは次の場所にあります。 Outlook.com > Options > Account Details > Security & Privacy > More Security Settings
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加