Mail unter Linux

Aus CodicaTipps
Zur Navigation springen Zur Suche springen

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:

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

Die eckigen Klammern benötigte ich, weil ich ansonsten die Fehlermeldung

 relay=none, delay=244208, delays=244208/0.01/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=mail.gmx.net type=MX: Host not found, try again)

bekam.[5]

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).[6] 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:[7]

 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

MailPile

SquirrelMail

SquirrelMail ist ein Webfrontend für IMAP mit etwas altmodischer Oberfläche, dafür aber ausgereift.

Installation[8]

 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[9] installiert man es mit

 sudo aptitude install roundcube roundcube-plugins mysql-server 
 sudo dpkg-reconfigure roundcube-core
 

Erzeuge symbolischen Link:[10]

 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


Löschen von Email-Duplikaten

Siehe


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

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:

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

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

  • Postfix als Satellitensystem (d.h. lokaler SMTP-Server, der aber über einen Provider wie GMX oder Arcor versendet) und
  • Dovecot als lokalen IMAP-Server
  • Getmail zum Abholen der eingehenden Nachrichten

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.[11]

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.