Linuxspicker

Admins kleiner Zettelkasten für die Lösung von Linuxproblemen

E-Mails mit getmail per POP3 auf den eigenen Server ziehen am Beispiel von Yahoo Mail


Yahoo! beehrte einen vor wenigen Tagen mit der Nachricht, dass die automatische Weiterleitung von E-Mails zum Ende des Jahres eingestellt wird. Die einzige Alternative des Anbieters ist dabei ein bezahlter Zugang.

Die erste Idee die einem dann in den Kopf kam war, die Mails dieses Kontos — statt sie weiterleiten zu lassen — einfach selbst abzuholen und ins richtige Postfach zu stellen. Früher war fetchmail die erste Wahl. Inzwischen ist aber wohl getmail die bessere Alternative geworden.

Getmail ist per sudo apt install getmail auf Debian- und Ubuntu-Systemen schnell installiert. Und nach dem Studium der einschlägigen Dokumentationen ergab sich dann auch schnell eine getmailrc im .getmail-Verzeichnis des entsprechenden Users, die alle bei Yahoo eingehenden Mails zur gewohnten E-Mailadresse weiterleiten sollte, damit dann auch die üblichen Spam- und Virentests von Postfix/Amavis/Clamav stattfinden.

## /home/userverzeichnis/.getmail/getmailrc
[retriever]
type = SimplePOP3SSLRetriever
server = pop.mail.yahoo.com
port = 995
username = meine_mailadresse@meinserver.net
password = mein_Yahoo_Passwort

### Imap-Variante
#[retriever]
#type = SimpleIMAPSSLRetriever
#server = imap.mail.yahoo.com
#port = 993
#mailboxes = ("INBOX", "INBOX.Spam")
#username = meine_mailadresse@meinserver.net
#password = mein_Yahoo_Passwort

[destination]
type = MDA_external
path = /usr/sbin/sendmail
arguments = ("-i", "-bm", "yahoo-weiterleitungsadresse@meinserver.net")
unixfrom = true

[options]
verbose = 2
message_log = ~/.getmail/log

# nur die neuen Mails ziehen
read_all = false

# die Nachrichten unberührt lassen
delivered_to = false
received = false

delete_after = 180

Allein ergab sich das Problem, dass nach dem Einrichten des zugehörigen Cronjobs — entweder mit crontab -e oder systemweit in /etc/cron.d/getmail — nur eine regelmäßige Fehlermeldung in der Logdatei fand:

Operational error: POP error (-ERR [SYS/TEMP] Server error - Please try again later.)

Abhilfe fand sich dann beim Studieren der Yahoo-Hilfe. Für den Zugriff auf die Mails per POP3 oder IMAP bzw. das Versenden von E-Mails per SMTP muss ein gesondertes sogenanntes APP-Passwort erstellt werden. Die Verwendung des Standardpasswortes für den Yahoo-Account in der Weboberfläche geht nicht. Nach dem Erhalt des APP-Passworts und dem Eintragen desselben in die getmailrc funktionierte der Zugang einwandfrei und die Mails werden regelmäßig gecheckt und im richtigen Postfach eingeordnet.

Damit die Logdatei nicht überläuft, sollte noch an einen Eintrag bei logrotate gedacht werden.

/home/userverzeichnis/.getmail/log {
        rotate 7
        daily
        minsize 100k
        missingok
        create 640 root adm
        notifempty
        compress
        delaycompress
}

Der Cron-Eintrag in /etc/cron.d/getmail sähe dann mit der Option -q zum Ruhigstellen der Ausgabe so aus:

# m h dom mon dow user  command
*/10 * * * * username /usr/bin/getmail -q


Stichworte: , , , , , , , ,
Kategorien: ,