Bonjour tout le monde !
Voilà, j'essai de créer un petit programme qui me permettra d'envoyer des e-mails mais j'ai quelques soucis.
J'ai un message d'erreur "authorization failed (#5.7.0)" lorsque j'essai d'envoyer un mail avec le composant Indy SMTP de Delphi 2007.
Pour ce faire, j'utilise mon compte Yahoo. Voici comment je procède :
Est-ce que je merde quelque part ? J'ai lu sur google que yahoo nécessite une connexion sécurisé SSL. Mais dans mon composant SMTP, je n'ai le chois qu'entre 3 choses : atNone, atDefault et atSASL. Je ne peux pas mettre atLogin. (Info : Lorsque je met atSASL, il faut que je renseigne la propriété SASLMechanisms : mais que mettre ?!)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 procedure TforFenetre.butEnvoiMailClick(Sender: TObject); var IdMessage: TIdMessage; begin IdMessage:= TIdMessage.Create(Application); try // Que mettre ici ? Je suis sous Delphi 2007 et atLogin n'est pas connu // Pour yahoo, il lui faut une connexion sécurisé SSL, que mettre ? IdSMTP.AuthType := atDefault; //atNone; atSASL; IdSMTP.Username := 'jerome.stcharles@yahoo.fr'; IdSMTP.Password := 'XXXXXX'; // Je mets mon mot de passe IdSMTP.Host := 'smtp.mail.yahoo.fr'; IdSMTP.Port := 25; //587; J'ai essayé avec le port 587 et j'ai le même soucis IdSMTP.Connect; // Petit test permettant de savoir si je suis connecté if IdSMTP.Connected then ShowMessage('Connecté') else ShowMessage('Déconnecté'); with IdMessage do begin Body.Assign(Memo.Lines); // Le texte du mail se situe dans un mémo // Je m'envoi un e-mail à moi-même (ceci doit fonctionner) // J'ai essayé de mettre une autre adresse pour le destinataire, j'ai exactement le même soucis From.Text := 'jerome.stcharles@yahoo.fr'; // Celui qui envoi (expéditeur) : je met mon adresse e-mail Recipients.EMailAddresses := 'jerome.stcharles@yahoo.fr'; // Celui qui reçoit (destinataire) : je met mon adresse e-mail Subject := 'Envoi email : essai'; // Le sujet du message Sender.Text := 'jerome' ; // Nom de l'expéditeur end; try IdSMTP.Send(IdMessage); // J'envoi l'email except on e:exception do showMessage(e.Message); //Je récupère le message d'erreur en cas de problème end; finally FreeAndNil(IdMessage); // Je libère l'objet dans tous les cas end; end;
============================================
J'ai essayé d'envoyer un e-mail en TELNET et je n'arrive pas non plus. (Je dois être un gros naze grrrrrr)
Voici comment je procède :
Autre info, j'ai eu une seule seule fois, le message ci-dessous après avoir entrer MAIL FROM...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 telnet smtp.mail.yahoo.fr 587 => Réponse : 220 smtp106.mail.ukl.yahoo.com ESMTP HELO essaijsc => Réponse : 250 smtp005.mail.ukl.yahoo.com MAIL FROM: <jerome.stcharles@yahoo.fr> => Réponse : 530 authentication required - for help go to http://help.yahoo.com/help/us/mail/pop/pop-11.html
=> Réponse : 502 unimplemented (#5.5.1)
// Concernant HELO/EHLO
J'ai essayé HELO essaijsc ou EHLO essaijsc
- je met n'importe quoi, est-ce qu'il faut mettre quelque chose en particulier ?
Quand je met EHLO, il me marque :
250-smtp102.mail.ukl.yahoo.com
250-AUTH LOGIN PLAIN XYMCOOKIE
250-PIPELINING
250-8BITMIME
==> Que mettre après ceci ? Lorsque je met MAIL FROM...il me donne une erreur :/
Merci de m'éclaicir.
Partager