Zum Inhalt springen
Doku

Fehlerbehebung

Warum erhalte ich TLS-Fehler beim Verbinden mit SMTP?

Beheben Sie SSL- und TLS-Handshake-Fehler mit smtp.emailit.com, etwa „wrong version number“, nicht passende Zertifikatsnamen und STARTTLS-Fehler.

Aktualisiert am 1. Okt. 2026

Dieser Artikel behandelt Fehler, die auftreten, während Ihr Client und das SMTP-Relay von Emailit die Verschlüsselung aufbauen. Sie entstehen fast immer dadurch, dass Port und TLS-Modus in Ihrem Client nicht zusammenpassen.

Symptome

  • SSL routines:ssl3_get_record:wrong version number oder ERR_SSL_WRONG_VERSION_NUMBER
  • Hostname/IP does not match certificate's altnames oder certificate verify failed
  • STARTTLS failed, Greeting never received oder die Verbindung hängt nach dem Verbindungsaufbau
  • unsupported protocol oder no protocols available

Ursache

Emailit verwendet zwei TLS-Modi, und jeder Port erwartet einen davon:

Port Modus Typische Client-Einstellung
587, 2525, 2587, 25 STARTTLS: Die Sitzung beginnt im Klartext und wird dann auf TLS umgestellt Nodemailer secure: false, PHPMailer ENCRYPTION_STARTTLS, „TLS“ in den meisten Oberflächen
465 Implizites TLS: verschlüsselt ab dem ersten Byte Nodemailer secure: true, PHPMailer ENCRYPTION_SMTPS, „SSL“ in den meisten Oberflächen

Die häufigsten Ursachen sind:

  • Implizites TLS auf einem STARTTLS-Port, zum Beispiel secure: true mit Port 587. Der Client erwartet einen TLS-Handshake, erhält aber eine Begrüßung im Klartext, was zu „wrong version number“ führt.
  • STARTTLS auf Port 465. Der Client wartet auf eine Begrüßung, die der Server nie im Klartext sendet, sodass die Verbindung hängt.
  • Verbindung per IP-Adresse oder über Ihren eigenen CNAME. Das Zertifikat ist für smtp.emailit.com ausgestellt, daher schlägt die Verifizierung bei jedem anderen Hostnamen fehl.
  • Ein alter TLS-Stack. Das Relay handelt TLS 1.2 oder TLS 1.3 aus. Clients, die auf TLS 1.0 oder 1.1 beschränkt sind oder ein veraltetes CA-Bundle haben, können den Handshake nicht abschließen.
  • Prüfung des Datenverkehrs. Manche Antivirenprogramme und Unternehmens-Proxys fangen SMTP ab und präsentieren ein eigenes Zertifikat.

Lösung

  1. Port und Modus abstimmen. Verwenden Sie Port 587 mit STARTTLS oder Port 465 mit implizitem TLS. Mischen Sie sie nicht.

    mailer.js
    const transporter = nodemailer.createTransport({
      host: 'smtp.emailit.com',
      port: 587,
      secure: false,     // STARTTLS on 587; set true only for port 465
      requireTLS: true,  // refuse to send if the upgrade fails
      auth: { user: 'emailit', pass: process.env.EMAILIT_API_KEY },
    });
  2. Genauen Hostnamen verwenden. Setzen Sie den Host auf smtp.emailit.com. Verwenden Sie keine IP-Adresse und keinen Alias.

  3. Verschlüsselung im Client erzwingen. STARTTLS wird auf jedem Klartext-Port angeboten, aber das Relay erzwingt es nicht. Aktivieren Sie die Option „require TLS“ Ihres Clients, damit Zugangsdaten nie unverschlüsselt gesendet werden.

  4. Handshake von der sendenden Maschine aus testen.

    Terminal
    openssl s_client -starttls smtp -connect smtp.emailit.com:587 -servername smtp.emailit.com
    openssl s_client -connect smtp.emailit.com:465 -servername smtp.emailit.com

    Ein fehlerfreies Ergebnis zeigt subject=CN=smtp.emailit.com und Verify return code: 0 (ok). Steht dort ein anderer Name, fängt etwas in Ihrem Netzwerk die Verbindung ab.

  5. Alte Laufzeitumgebungen aktualisieren. Aktualisieren Sie die Laufzeitumgebung der Sprache oder OpenSSL und die CA-Zertifikate des Systems, wenn Ihr Client TLS 1.2 nicht aushandeln kann.

Wenn der Handshake gelingt, die Anmeldung aber fehlschlägt, siehe Warum gibt SMTP 535 Authentication failed zurück?. Wenn Sie überhaupt keine Verbindung herstellen können, siehe Warum läuft meine SMTP-Verbindung in eine Zeitüberschreitung?.

Weiterhin Probleme?

Kontaktieren Sie den Support oder fragen Sie auf Discord. Geben Sie den Port, Ihre Client-Bibliothek und deren Version sowie die Ausgabe des Befehls openssl s_client an.

War diese Seite hilfreich?

Danke für Ihr Feedback.

Danke, wir lesen jede Nachricht.