In een eerdere blog heb ik uitgelegd hoe je gebruik kunt maken van een veilige (SSL) verbinding met je mail-server door Fetchmail. Dit doe je eenvoudig m.b.v. de SSL fingerprint van de betreffende mail servers in de ‘.fetchmailrc’ configuratie-file.

poll pop.gmail.com proto POP3 user "gebruiker" password "mijn password" fetchall options ssl sslfingerprint 'XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX'
mda "/usr/bin/procmail -d %T"

Nu verandert Google echter om de zoveel tijd van certificaten en zul je dus ook de fingerprint moeten aanpassen. De eenvoudigste manier om de SSL fingerprint te checken is m.b.v. onderstaande commando:

openssl s_client -connect $SERVER:$PORT -showcerts | openssl x509 -fingerprint -noout -md5

Vervang hierbij $SERVER en $PORT door je mail-server settings (b.v. pop.gmail.com:995). De output ziet er dan ongeveer als volgt uit:

root@webserver:/home/henri# openssl s_client -connect pop.gmail.com:995 -showcerts | openssl x509 -fingerprint -noout -md5
depth=2 OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = US, O = Google Trust Services, CN = GTS CA 1O1
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google LLC, CN = pop.gmail.com
verify return:1
MD5 Fingerprint=08:C1:32:F3:F7:21:18:CF:46:EE:47:0A:A0:A1:E5:F3
root@webserver:/home/henri#

Eventueel kun je ook nog een slim script schrijven die er automatisch voor zorgt dat je ‘.fetchmailrc’ file altijd de meeste actuele fingerprints bevat.

Update 10 september 2020
Een simpelere oplossing is om de volgende regel te gebruiken in je ‘.fetchmailrc’ file als je SSL wilt gebruiken voor Fetchmail:

poll pop.gmail.com proto POP3 user "gebruiker" password "mijn password" fetchall options ssl sslcertck
mda "/usr/bin/procmail -d %T"