Ich möchte eine E-Mail über den GMail-Server senden.Email kann nicht (via GMail) mit Indy gesendet werden. Protokoll-Versionskonflikt
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;
Dieser Codeabschnitt arbeitete 2014 mit Delphi XE.
Das Programm verbindet sich mit dem Server in Ordnung, aber am Ende heißt es „SSL auf diesem Server nicht verfügbar ist“:
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.
ich die neueste Version von OpenSSL (heruntergeladen heute) und Delphi XE7 haben.
Die Wireshark sagt:
Alert (Level: Fatal, Beschreibung: Protokollversion)
Warum kann ich keine E-Mail schicken?
Ich habe alle ausprobiert: keine TSL, implizit, explizit, startTSL ...
ALLE Version kann aktiviert werden (nicht nur v1 und v3) nur um auf der sicheren Seite zu sein (stellen Sie sicher, der Code funktioniert mit allen E-Mail-Servern) ... – Ampere
Danke WireShark. – Ampere
Es gibt kein 'sslvSSLv1'. Sie denken stattdessen an 'sslvTLSv1'. –