Schlagwort: mail

Courier IMAP: Fehler nach Debian-Update

Nach der Installation mehrerer Debian Major-Updates (Version 10 -> 11 -> 12) war IMAP von manchen Clients nicht mehr nutzbar.

Es kam zu folgender Fehlermeldung im Mail-Log:

Mar 24 23:42:23 $host courier-imaps: ip=[$ip], couriertls: /etc/courier-imap/courier.pem: error:1E08010C:DECODER routines::unsupported

Auf iOS äußerte sich der Fehler mittels folgender Meldung:

E-Mails können nicht empfangen werden
Der Mail-Server „$server“ reagiert nicht. Überprüfe, ob du in den Mail-Einstellungen die richtigen Accountinfos eingegeben hast.
Unable to create a secure connection to the server („Ungültige
Protokollversion“ -9.836).

In einer älteren Microsoft Outlook Version schlug der Abruf der IMAP-Ordner fehl. Zudem blieb Outlook mehrfach beim Start hängen und reagierte nicht mehr.

Ursache war eine veraltete /usr/share/dhparams.pem

Lösung: /usr/share/dhparams.pem löschen und mittels folgendem Befehl neu generieren:

/usr/sbin/mkdhparams

Details & Quellen:

Postfix Mail-Relay einrichten

Um von einem Postfix-Mailserver E-Mails über einen anderen Postfix-Server zu leiten, ist folgende Konfiguration notwendig.

Auf dem Server, der das Relay nutzen möchte in der main.cf:

relayhost = [$IP_or_DOMAIN]:25

$IP_or_DOMAIN ist die IP-Adresse oder der Domainname des Relays, welches für die Weiterleitungen genutzt werden soll. (Details zu relayhost)
Die eckigen Klammern sorgen dafür, dass die Nachrichten nicht an den MX-Server der Domain gesendet werden, sondern direkt an die IP des A- bzw. AAAA-Records.

Sind auf dem Mailserver mehrere IP-Adressen konfiguriert, so kann mittels smtp_bind_address definiert werden, welche IP ($IP) für den ausgehenden Mailversand genutzt werden soll (Quelle):

smtp_bind_address = $IP

Achtung bei der Verwendung von Plesk: Hier hilft die Angabe der smtp_bind_address in der main.cf nicht! Es muss stattdessen in der Plesk-Weboberfläche unter „Serverweite E-Mail-Einstellungen“ bei Postausgangsmodus „Über die angegebenen IP-Adressen senden“ und die gewünschte IP ausgewählt werden.

Auf dem Server, der als Relay fungiert:

Bei mynetworks die IP ($IP) des oben beschriebenen, sendenden Mailservers ergänzen.
relay_domains kann leer bleiben, was bedeutet, dass E-Mails aller Domains weitergeleitet werden.

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 $IP
relay_domains =

Private Schlüssel und .csr für S/MIME Zertifikate vorbereiten

Um ein S/MIME Zertifikat zu generieren benötigt man ähnlich zu SSL/TLS Serverzertifikaten einen privaten Key und ein CSR.

Im Terminal geht dies mit openssl wie folgt:

openssl genrsa -out my-smime.key 4096

Der Certificate Sign Request wird dann so erstellt:

openssl req -new -key my-smime.key -out my-smime.csr

Wichtig ist dass die zugehörige E-Mail-Adresse dann im Common Name Feld angegeben wird, die restlichen Felder sind wie bei SSL Zertifikaten zu belegen (z.B. DE, Bayern, Hassfurt, Firma XY GmbH, IT Abteilung, E-Mail-Adresse als Common Name, E-Mail des Kontaktes (nicht so wichtig, gleiche wie Common Name oder leer), optional ein Passwort (kann auch leer bleiben).

You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []: 
Organizational Unit Name (eg, section) []:
Common Name (eg, fully qualified host name) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:

Hat man dann über eine ordentliche CA seine Zertifikat mit dem CSR bestellt und ein .crt File erhalten, kann man dann aus allen Dateien ein pk12 Datei schnüren (im Terminal):

openssl pkcs12 -export -in my-certificate.cer -inkey my-smime.key -out my-smime.p12

Hat man noch ein Intermediate Zertifikat erhalten, dann kann dies anstatt der obigen Zeile mit dem Paramteter -certfile gleich mit eingebunden werden:

openssl pkcs12 -export -in my-certificate.cer -inkey my-smime.key -certfile intermediate.cer -out my-smime.p12

Hierbei wird ein Passwort angefordert, was frei gewählt werden kann und beim Importieren in dem Mail-Client später benötigt wird.