2016-06-27 2 views
0

Dans le passé, je pouvais envoyer des emails avec succès avec Indy et Hotmail, mais quand j'essaye d'envoyer en utilisant un compte Outlook, je reçois toujours l'erreur «Authentification échoue». Mon nom d'utilisateur et mot de passe sont corrects, je peux me connecter sur Outlook Webmail.Envoyer des emails avec Outlook.com en utilisant Indy

Voici mon code:

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); 

Répondre

3

Si vous avez fait des modifications à zéro votre code, et il a décidé d'arrêter de travailler, alors il y a un problème d'authentification avec votre compte Outlook.com.

Il est très probable que vous deviez activer la validation en deux étapes et créer un mot de passe d'application. Les services de messagerie vous empêchent généralement d'utiliser votre mot de passe standard, sauf si l'application prend en charge des méthodes de connexion plus modernes et vous oblige à configurer des applications sur votre compte pour y accéder. Vous devrez d'abord activer la validation en deux étapes avant de pouvoir accéder à la section des mots de passe de l'application.

enter image description here

Ceux-ci peuvent être situés à Outlook.com > Options > Account Details > Security & Privacy > More Security Settings

+2

Dans la vérification en 2 étapes, un mot de passe spécifique application est utilisée uniquement pour des applications qui ne prennent pas en charge les nouvelles méthodes auth 2 étapes comme OAuth. Ceux qui le font peuvent utiliser le mot de passe du compte. –

+0

J'utilise pour envoyer en utilisant hotmail, pas de perspectives; peut-être y a-t-il des différences entre les deux configurations? – delphirules

+0

@RemyLebeau Oui, mais Indy ne le supporte pas ... n'est-ce pas? Je n'ai pas vérifié récemment. –