Je souhaite envoyer un courrier électronique via le serveur GMail.Impossible d'envoyer un e-mail (via GMail) avec Indy. Désaccord de version de protocole
TRY
SMTP.Connect; // <---- This is TIdSMTP
EXCEPT
Log.AddError('Cannot connect to the email server.');
END;
if SMTP.Connected then
TRY
SMTP.Send(MailMessage);
EXCEPT
on E:Exception DO
begin
Log.AddError('Connected to server but could not send email!');
Log.AddError(E.Message);
end;
END;
if SMTP.Connected
then SMTP.Disconnect;
Ce morceau de code a fonctionné en 2014 avec Delphi XE.
Le programme se connecte au serveur ok mais à la fin il dit: « SSL n'est pas disponible sur ce serveur »:
Resolving hostname smtp.Gmail.com.
Connecting to 74.125.xxx.xxx
Connected.
Connected to SMTP server...
SSL status: "before/connect initialization"
SSL status: "before/connect initialization"
SSL status: "SSLv3 write client hello A"
SSL status: "SSLv3 read server hello A"
SSL status: "SSLv3 read server hello A"
Disconnected.
Connected to server but could not send email!
SSL is not available on this server.
J'ai la dernière version de OpenSSL (téléchargée aujourd'hui) et Delphi XE7.
Wireshark dit:
Alert (Niveau: Fatal, Description: Protocol version)
Pourquoi je ne peux pas envoyer des courriels?
J'ai essayé tous: pas TSL, implicite, explicite, startTSL ...
TOUTES les versions peuvent être activées (pas seulement v1 et v3) juste pour être du bon côté (assurez-vous que le code fonctionne avec tous les serveurs de messagerie) ... – Ampere
Merci WireShark. – Ampere
Il n'y a pas de 'sslvSSLv1'. Vous pensez à 'sslvTLSv1' à la place. –