Spricht der Mailserver meiner Gegenstelle SSL oder nicht? Wer einen eigenen Mailserver betreibt, der sollte an die Information recht schnell heran kommen – wenigstens im Postfix Log wird protokolliert ob die Verbindung verschlüsselt war oder nicht.

Doch was wenn man mal schnell einen Test machen möchte oder vielleicht eine größere Liste von Domains hat, die geprüft werden muss?

Einzeiler mit openssl

Das geht recht einfach mit einem einfachen Einzeiler und openssl:


echo "QUIT" | openssl s_client -connect mx.example.com:25 -starttls smtp

Doch bitte Vorsicht! Es wird mit dem Mailserver in Kontakt getreten. Einfach die Domain anzugeben reicht nicht aus, ihr braucht den (oder einen der) Mailserver. Den Mailserver könnt ihr z.B. hiermit herausfinden:


root@heinz:~/# dig -t MX google.de

; <<>> DiG 9.7.0-P1 <<>> -t MX google.de
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21899
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 5

;; QUESTION SECTION:
;google.de. IN MX

;; ANSWER SECTION:
google.de. 599 IN MX 40 alt3.aspmx.l.google.com.
google.de. 599 IN MX 50 alt4.aspmx.l.google.com.
google.de. 599 IN MX 10 aspmx.l.google.com.
google.de. 599 IN MX 20 alt1.aspmx.l.google.com.
google.de. 599 IN MX 30 alt2.aspmx.l.google.com.

;; AUTHORITY SECTION:
google.de. 65947 IN NS ns3.google.com.
google.de. 65947 IN NS ns1.google.com.
google.de. 65947 IN NS ns4.google.com.
google.de. 65947 IN NS ns2.google.com.

;; ADDITIONAL SECTION:
aspmx.l.google.com. 221 IN A 74.125.136.27
ns1.google.com. 260132 IN A 216.239.32.10
ns2.google.com. 3005 IN A 216.239.34.10
ns3.google.com. 4104 IN A 216.239.36.10
ns4.google.com. 6791 IN A 216.239.38.10

;; Query time: 32 msec

Entsprechend wäre „aspmx.l.google.com“ unser Freund – wobei man natpürlich auch die anderen nehmen könnte.

Ist es nun oder nicht?

Schaut euch den Output einfach an 😉 . openssl zeigt die Schlüsselinformationen an, falls verfügbar. Anderenfalls ist ein connect nicht möglich.