Mail unter Linux
Allgemeines
- Wenn Sie beim Einloggen in eine Linux-Text-Session z.B. via ssh die Nachricht bekommen, dass Sie neue Mail haben ("You have new mail!"), können Sie die Mails mit
mail
abrufen. Die Mails befinden sich übrigens in/var/mail
und werden beim Lesen nach~/mbox
verschoben.
SMTP-Server
Allgemeines
Üblicherweise benutzt man zum Versenden von Mails einen Drittanbieter als Smarthost.
Beispielsweise bietet sich Arcor an, siehe
Siehe zum kompletten Aufbau eines Mailsystems inklusive Webfrontend:
- https://www.exratione.com/2012/05/a-mailserver-on-ubuntu-1204-postfix-dovecot-mysql/
- http://www.heinlein-support.de/blog/howto/tutorial-robuste-mailserver-einrichten/
Siehe zur Einrichtung von Postfix:
Einfacher MTA
Ein einfacher Mail Transfer Agent, der lediglich Mails über einen Smarthost versenden kann, hat den Vorteil, dass er wenig Sicherheitslücken öffnet.
In Betracht kommen z.B.
- Nullmailer
- ESMTP
- SSMTP
Mit SMTP funktioniert angeblich auch die Konfiguration von GMX als Smarthost:[1],[2]
sudo aptitude install ssmtp bsd-mailx
Anpassen der /etc/ssmtp/ssmtp.conf
und /etc/ssmtp/revaliases
Googlemail als Smarthost funktioniert bei mir nur, wenn weniger sichere Apps zugelassen werden.[3]
Für crontab lässt sich mit Hilfe der Zeile
MAILTO=adresse@anbieter.org
Infos der folgenden cronjobs an die angegebene Email schicken.
Einfacher MTA mittels Postfix
Man kann auch mit Hilfe von Postfix einen einfachen MTA aufsetzen. Zur Installation benötigt man
sudo aptitude install postfix postfix-mysql libsasl2-modules
In
sudo dpkg-reconfigure postfix
wählt man das "Satelliten-System" (keine Mail empfangen, sondern nur über einen SmartHost versenden).
Um den Postfix-Versand für ein GMX-Konto einzurichten[4] (die gesamte Mail scheint dann von genau dieser einen Email-Adresse zu kommen), sind folgende Schritte nötig:
Angabe von mail.gmx.net
als SMTP-Relay-Server.
Folgender Dateiinhalt der /etc/postfix/main.cf
:
alias_database = hash:/etc/aliases inet_interfaces = loopback-only mailbox_size_limit = 0 relayhost = mail.gmx.net:587 sender_canonical_maps = hash:/etc/postfix/sender_canonical smtp_generic_maps = hash:/etc/postfix/generic smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_password smtp_sasl_security_options = noanonymous smtp_tls_security_level = encrypt
Folgender Dateiinhalt der /etc/postfix/sasl_password
(PASSWORD durch Passwort bei GMX austauschen; bei USER ebenfalls)
mail.gmx.net USER@gmx.de:PASSWORD
Passwortdatei vor Zugriffen schützen:
sudo chmod 600 /etc/postfix/sasl_password
Passwortdatenbank erzeugen:
sudo postmap hash:/etc/postfix/sasl_password
Absenderdatei /etc/postfix/sender_canonical
root USER@gmx.de BENUTZER USER@gmx.de
und so weiter...
Absenderdatei in Datenbank übersetzen:
sudo postmap /etc/postfix/sender_canonical
Generics-Datei /etc/postfix/generic
:
BENUTZER@SERVERNAME USER@gmx.de
Generics-Datei übersetzen:
sudo postmap /etc/postfix/generic
Postfix neustarten:
sudo service postfix restart
Postfix mit Docker
Siehe
- Beispiel-Dockerfile mit Vorkonfiguration von postfix mittels debconf-set-selections und postconf
IMAP Server
IMAP Server gibt es mehrere, z.B.:
- Dovecot
- POP3Aggregator
- Folgende Dateien führen zum Passwort:
- /etc/dovecot/conf.d/10-auth.conf
- /etc/dovecot/conf.d/auth-passwdfile.conf.ext
- /etc/dovecot/passwd
Das Hochladen von Mails zu einem IMAP-Server ist in Opera recht einfach. Man zieht die Mails mit der Maus auf den IMAP-Ordner (z.B. INBOX).[5] Dabei ist jedoch zu beachten, dass zu viele Mails auf einmal einen Timeout des IMAP-Servers verursachen können.
Setup von Dovecot
sudo aptitude install dovecot
Erzeuge Mail-Verzeichnis:
mkdir ~/Maildir
Setze Mail-Verzeichnis in /etc/dovecot/conf.d/10-mail.conf
:[6]
mail_location = maildir:~/Maildir
Erzeuge Benutzerverzeichnis
echo "$USER:{PLAIN}password:$UID:$GROUPS::$HOME" > users sudo mv users /etc/dovecot/
Lege Benutzerverzeichnis als Authentifizierungsmethode in /etc/dovecot/conf.d/10-auth.conf
fest:
- Raute(#) vor
!include auth-system.conf.ext
- Rauten entfernen am Anfang von
#!include auth-passwdfile.conf.ext
Siehe http://wiki2.dovecot.org/BasicConfiguration
WebFrontend für IMAP
Web-Frontends für IMAP-Server sind ebenfalls nicht rar, z.B.:
RainLoop
RainLoop ist HTML5-basiert, unterstützt für Anhänge Drag&Drop. Er kann angeblich in OwnCloud integriert werden.
Siehe http://www.rainloop.net/
MailPile
SquirrelMail
SquirrelMail ist ein Webfrontend für IMAP mit etwas altmodischer Oberfläche, dafür aber ausgereift.
- SquirrelMail
- SquirrelMail ist so schlank, dass er nur das IMAP-Protokoll in vom Nutzer leicht lesbares Web-HTML übersetzt. Daher hat Squirrelmail keine eigenen Passwörter.
Installation[7]
sudo aptitude install squirrelmail-locales squirrelmail-decode
sudo ln -s /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail.conf sudo a2ensite squirrelmail sudo service apache2 reload
OpenWebMail
- OpenWebMail
RoundCube
Unter Ubuntu[8] installiert man es mit
sudo aptitude install roundcube roundcube-plugins mysql-server sudo dpkg-reconfigure roundcube-core
Erzeuge symbolischen Link:[9]
sudo ln -s /usr/share/roundcube /var/www/roundcube
Um TLS-verschlüsselte Verbindungen zum Server zu ermöglichen, muss das Präfix tls://
vor den IMAP-Servernamen gestellt werden (Ansonsten bekommt man die Fehlermeldung, dass die Verbindung zum Speicherserver [IMAP-Server] fehlgeschlagen sei). Dies geschieht in der Datei /etc/roundcube/mail.inc.php</php>:
$rcmail_config['default_host'] = array('ssl://mail.example.com:993');
Dazu muss das Paket mcrypt installiert sein:
sudo aptitude install mcrypt
sudo php5enmod mcrypt
Apache-Restart
sudo service apache2 restart
Browser-Login durch http://localhost/roundcube
Die Alternative ist die Installation direkt aus den Quellen, z.B. unter Linux Mint.
Syncing IMAP
- OfflineIMAP bietet die Synchronisation mit lokalen "MailDir"-formattierten Mails und IMAP-Servern sowie von IMAP-Servern untereinander.
- mbsync/isync ermöglicht Synchronisation zweier IMAP-Server.
- Die IMAP-Tools bieten mit imapsync.pl ein Synchronisationstool.
- MailSync basiert auf der c-client-Bibliothek und kann nicht nur IMAP-Server synchronisieren.
- Reines Kopieren bietet imapcopy.
- imapsync eignet sich nach eigener Aussage nicht zur Synchronisation zweier aktiver IMAP-Server (wohl aber zum Backup). Siehe auch http://wiki.ubuntuusers.de/imapsync.
Löschen von Email-Duplikaten
Siehe
- Skript IMAPDedup
- Skript maildir-deduplicate.py
- Thunderbird Extension Remove Duplicates
- Eventuell hilft auch das simple Entfernen von Dateien mit demselben Inhalt mit Hilfe von fdupes
IMAP abfragen
GetMail (siehe unten) kann auch zum Abfragen eines IMAP-Servers genutzt werden. Es unterstützt auch IMAP IDLE für einen bestimmten IMAP-Ordner, z.B. INBOX
:
getmail --rcfile=imaprc --idle=INBOX
Das RC-File ~/.getmail/imaprc
für eine Auslieferung des GMX-Postfachs in ein MailDir-Verzeichnis könnte dann so lauten:
[retriever]
type = SimpleIMAPSSLRetriever
server = imap.gmx.net
username = BENUTZER@gmx.de
password = PASSWORT
port = 993
[destination]
type = Maildir
path = ~/Maildir/
[options]
verbose = 0
delete = false
read_all = false
Siehe auch
- Anleitung zur Nutzung von GetMail und Dovecot zur Nutzung eines privaten Servers als Mail-Speicher
POP3 abfragen
Mittels fetchmail oder GetMail lassen sich POP3- oder IMAP-Server abfragen.
Getmail
Siehe auch oben Mail unter Linux#IMAP abfragen.
Anleitungen für GetMail:
Installation von GetMail
sudo aptitude install getmail4
Das RC-File für getmail --rcfile
(oder das Standardfile in ~/.getmail/getmailrc
kann für GMX folgendermaßen aussehen:
[retriever]
type = SimplePOP3SSLRetriever
server = pop.gmx.net
username = USER@gmx.de
password = PASSWORT
port = 995
[destination]
type = Maildir
path = ZIELORDNER/(z.B. /var/mail/user/ oder /home/user/Maildir/, ggf. anzulegen mit Subdirectories cur, new und tmp; abschließenden Slash beachten)
[options]
delete = false
read_all = false
Starten mit
getmail --verbose
Sinnvoll ist das regelmäßige Starten mittels cron.
Automatisch Mail bearbeiten
Eine einfache .forward
-Datei ermöglicht das Weiterleiten an eine Email-Adresse. Es geht aber mit dem Pipe-Zeichen (|) auch das Weiterleiten an ein Skript.
Besser konfiguriert werden kann das aber mittels des Packages procmail
und der Datei .procmailrc
Attachments auspacken
Mit den Programmen munpack
(Package mpack
) oder | ripmime
lassen sich Email-Attachments aus einer Mail-Datei entpacken.
Eine /home/USER/.forward
Datei für munpack sieht beispielsweise so aus:
"| munpack -C /home/USER/attachments"
Eine /home/USER/.forward
Datei für ripmime sieht beispielsweise so aus:
"| ripmime -i - --infix -d /home/USER/attachments"
Siehe auch
Umstieg von Microsoft Outlook
Um von Microsoft Outlook auf ein Linux-Mail-Programm umzusteigen, müssen die ".pst"-Archivdateien von Outlook konvertiert werden:
- Überblick über Methoden zum Import nach Thunderbird
- Kommandozeilentool readpst konvertiert von Outlook-pst nach MBOX.
- Thunderbird Pst import plugin (basiert auf "readpst")
- Import von Outlook nach Thunderbird, wenn beides auf einem Rechner läuft.
- Outlook-Plugin zum Export in das MBOX-Format
- Kommerzielles Windows-Tool zur Konversion unterschiedlicher PST-Versionen, nochmals.
- http://outport.sourceforge.net/
Mailinglisten
Allgemeines
Sympa ist ein aus Frankreich stammender Mailing-List-Server. Er ist hochkonfigurierbar und bietet auch Schnittstellen für die Nutzung externer Authentifizierung. Er ist in den Ubuntu-Paketen enthalten.
Dada Mail ist ein Mailinglist-Programm. Lt. Wikipedia ist es unter GPL, allerdings ist die einfache Version lt. der Projekthomepage auf 3 Mailinglists und 1000 Abonennten begrenzt; ansonsten brauche man Pro Dada.
Phplist ist ein OpenSource-Mailinglist-Programm. Es ist eher für Newsletter als für Diskussionslisten gedacht.
Siehe auch
- Ezmlm
- GroupServer - ein Open Source Mailing Server, sponsored von Neuseelands' OnlineGroups.net
Mailman
Mailman scheint ein Open Source-Programm zu sein, mit dem man Mailinglisten einrichten kann. Damit kann man wohl
auch das Archiv im MBOX-Format exportieren.
Siehe
Wenn Mailman Probleme mit den Berechtigungen hat (siehe /var/log/mailman/error
), hilft wahrscheinlich mehrmaliges Ausführen von
/usr/lib/mailman/bin/check_perms -f
Gegebenenfalls muss man ein bisschen mit chgrp -h list
nachhelfen.
Außerdem ist im Zeitalter des Multimedia die Größe der maximalen Nachrichtengröße anzuheben, z.B.
https://SERVER/cgi-bin/mailman/admin/mailman/
und dann Allgemeine Optionen -> max_message_size auf z.B. 10000 Kb anpassen.
Email-Clients
- Claws Mail (Gtk+-basiert, ursprünglich auf Basis von Sylpheed entwickelt, HTML-Mails nur über Plugins)
- Sylpheed (Gtk+-basiert, keine HTML-Mails)
- KMail - Qt/KDE-basiert
- Mozilla Thunderbird - seit 2012 Weiterentwicklung nur eingeschränkt, aber immer noch vorhanden
- Mutt - Mailprogramm für die Konsole mit text-graphischer Oberfläche
- Evolution - das Standard-Gnome-Mail-Programm
Einrichten für lokales Postfix/Dovecot
Wenn man
eingerichtet hat, lassen sich entsprechende Konten in Thunderbird oder Evolution folgendermaßen einrichten:
- Angabe der Provider-Email-Adresse, an die Antworten gesendet werden sollen, (z.B. user@gmx.de)
- Umschalten auf manuelles Einrichten des Email-Kontos
- Angabe des localhost als IMAP- und SMTP-Server
- Für SMTP den Port 25 angeben
Senden von Emails aus der Shell
Mit mail
aus dem Paket mailutils
lässt sich Email aus der Kommandozeile versenden.
Für Attachments braucht man mpack
oder mutt
.[10]
Beispiel:
echo "Das ist der Nachrichtentext" | mutt -s "subject of message" -a "meinbild.jpg" -- empfaenger@beispiel.de
Fehlersuche
Bei der Fehlersuche hilft auch ein automatisches Mail-Echo: Das bekommt man z.B., wenn man eine Mail an echo@tu-berlin.de versendet.
- ↑ Siehe https://debianforum.de/forum/viewtopic.php?f=30&t=148726
- ↑ http://schneiders.spdns.de/2014/02/25/installation-smtp/
- ↑ Vgl. https://nas-selber-bauen.de/ssmtp-fuer-das-banana-pi-nas/
- ↑ Siehe näher https://wiki.ubuntuusers.de/Postfix/
- ↑ Siehe http://my.opera.com/operawiki/forums/topic.dml?id=1133042.
- ↑ http://wiki2.dovecot.org/FindMailLocation
- ↑ Siehe http://wiki.ubuntuusers.de/Squirrelmail
- ↑ Siehe https://help.ubuntu.com/community/Roundcube
- ↑ https://help.ubuntu.com/community/Roundcube
- ↑ Vgl. http://stackoverflow.com/questions/17359/how-do-i-send-a-file-as-an-email-attachment-using-linux-command-line