Synapse smtp-Problem

Alle Fragen zur Netzwerkkommunikation
Antworten
malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Synapse smtp-Problem

Beitrag von malabarista »

Ich versuche mittels synapse eine mail zu versenden (unter Linux) und verwende ein an verschiedenen Stellen zitiertes Beispiel.
Leider funktioniert es nicht bei mir:
Ich erhalte die Debugger-Fehlermeldung:
SMTP-Error: StartTLS: Success-Other or undefined security status
Error in Zeile 83

Code: Alles auswählen

 
procedure TForm1.MailSend(const sSmtpHost, sSmtpPort, sSmtpUser, sSmtpPasswd, sFrom, sTo, sFileName: AnsiString);
 
var
  smtp: TSMTPSend;
  msg_lines: TStringList;
 
begin
  msg_lines := TStringList.Create;
  smtp := TSMTPSend.Create;
  try
    msg_lines.LoadFromFile(sFileName);
    msg_lines.Insert(0, 'From: ' + sFrom);
    msg_lines.Insert(1, 'To: ' + sTo);
 
    smtp.UserName := sSmtpUser;
    smtp.Password := sSmtpPasswd;
 
    smtp.TargetHost := sSmtpHost;
    smtp.TargetPort := sSmtpPort;
 
    AddToLog('SMTP Login');
    if not smtp.Login() then
      raise ESMTP.Create('SMTP ERROR: Login:' + smtp.EnhCodeString);
    AddToLog('SMTP StartTLS');
    if not smtp.StartTLS() then
      raise ESMTP.Create('SMTP ERROR: StartTLS:' + smtp.EnhCodeString); //<- hier taucht die Fehlermeldung auf
    AddToLog('SMTP Mail');
    if not smtp.MailFrom(sFrom, Length(sFrom)) then
      raise ESMTP.Create('SMTP ERROR: MailFrom:' + smtp.EnhCodeString);
    if not smtp.MailTo(sTo) then
      raise ESMTP.Create('SMTP ERROR: MailTo:' + smtp.EnhCodeString);
    if not smtp.MailData(msg_lines) then
      raise ESMTP.Create('SMTP ERROR: MailData:' + smtp.EnhCodeString);
 
    AddToLog('SMTP Logout');
    if not smtp.Logout() then
      raise ESMTP.Create('SMTP ERROR: Logout:' + smtp.EnhCodeString);
    AddToLog('OK!');
  finally
    msg_lines.Free;
    smtp.Free;
  end;
end;
 

Zum Testen wird Port 25 für eine unverschlüsselte Übertragung verwendet bei post.strato.de

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Synapse smtp-Problem

Beitrag von m.fuchs »

Code: Alles auswählen

telnet post.strato.de 25
 
Trying 81.169.145.136...
Connected to post.strato.de.
Escape character is '^]'.
220 post.strato.de ESMTP RZmta (P5 -)
EHLO test.example.com
250-post.strato.de greets XX.XXX.XXX.X
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-DELIVERBY
250-SIZE 104857600
250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250 HELP


Sieht nicht so aus, als würde der Server STARTTLS unterstützen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Synapse smtp-Problem

Beitrag von malabarista »

ok, danke.
Wenn ich dieses Starttls entferne, klappt es .

Wie ist das dann bei verschlüsselter Übertragung auf Port 465 ?
Brauche ich das Starttls dann auch nicht , - oder ?

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Synapse smtp-Problem

Beitrag von m.fuchs »

STARTTLS ist ja nur das Verfahren verschlüsselte und unverschlüsselte Verbindungen auf ein und dem selben Port zu verwenden. Wenn der Server das unterstützt, kannst du die Verschlüsselung anfordern.

Wenn du gleich SMTPS nimmst, ist das STARTTLS-Kommando nicht nötig/möglich.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Synapse smtp-Problem

Beitrag von malabarista »

danke.

Antworten