Für den Administrator, Programmierung

E-Mails mit verschlüsselter Übertragung

Für das Versenden von E-Mails benutzt CONZEPT 16 das SMTP-Protokoll, sowohl bei anwendungsgenerierten (MailOpen) als auch bei systemgenerierten (Benachrichtigung im Fehlerfall) Nachrichten. Beim Einsatz von externen Mailservern ist eine verschlüsselte Kommunikation manchmal wünschenswert, falls der Server keine unverschlüsselte Übertragung zulässt, ist dies sogar obligatorisch.


Die Mailserver verwenden inzwischen überwiegend ein Verfahren, das vom Prinzip her sowohl eine unverschlüsselte als auch eine verschlüsselte Übertragung auf Basis von SSL/TLS erlaubt. Dabei wird zunächst eine unverschlüsselte SMTP-Sitzung (meist über den Standard-Port 25) gestartet, wobei der Server die Option der Chiffrierung per STARTTLS-Kommando anbietet. Der Mailclient kann dann eine SSL/TLS-Session starten, der weitere Datenaustausch läuft danach vollständig verschlüsselt ab. Eine Anmeldung an den Server mit Benutzer und Kennwort findet somit innerhalb der geschützten Kommunikation statt.

Sofern der Server nur verschlüsselte Übertragungen zulässt, muss der Client eine TLS-Session beginnen, andernfalls schlagen alle weiteren SMTP-Kommandos fehl.

CONZEPT 16 ab Version 5.7.03 unterstützt dieses Verfahren, in dem optional die Verschlüsselung immer dann verwendet wird, wenn der Zielserver diese anbietet. Beim Befehl MailOpen() kann daher als Typ (1. Argument) neben der bisherigen Konstanten _MailSmtp jetzt auch _MailSmtpTls verwendet werden.

Der Mailserver muss mindestens SSL 3.0 oder TLS 1.x unterstützen und über ein gültiges Zertifikat verfügen. Dabei findet jedoch keine weitere Überprüfung des Ausstellers oder des Domainnamens statt, somit sind auch selbst ausgestellte Zertifikate möglich.

Für die E-Mail-Benachrichtigung im Datenbankserver und SOA-Service ist die TLS-Unterstützung optional und muss gegebenenfalls per Web-Administration oder c16_soa.cfg aktiviert werden.
Update: Für MailOpen() ist zusätzlich noch die Konstante _MailSmtpS definiert. Damit wird auch das Protokoll SMTPS unterstützt, welches einen eigenen Port (465 oder 587) ausschließlich für die verschlüsselte Übertragung verwendet.

Keine Kommentare

Kommentar abgeben