Mail unter Linux: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
 
(34 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 28: Zeile 28:
 
* Nullmailer
 
* Nullmailer
 
* ESMTP
 
* ESMTP
* SSMTP
+
* msmtp
 +
* [https://www.opensmtpd.org/ OpenSMTPd]
 +
* früher: SSMTP
  
Mit SMTP funktioniert angeblich auch die Konfiguration von GMX als Smarthost:<ref>Siehe https://debianforum.de/forum/viewtopic.php?f=30&t=148726</ref>,<ref>http://schneiders.spdns.de/2014/02/25/installation-smtp/</ref>
+
==== Einfacher MTA mittels msmtp ====
 +
 
 +
Installieren mit
 +
  sudo aptitude install msmtp msmtp-mta
 +
 
 +
Schauen wo die Konfigurationsdateien sich befinden:
 +
  msmtp --version
 +
 
 +
Unter [[Ubuntu]] 20.04 Focal lautet der Pfad zur systemweiten Konfigurationsdatei  <code>/etc/msmtprc</code> und zur Benutzerkonfigurationsdatei: <code>/home/david/.msmtprc</code>.
 +
 
 +
===== msmtp-Konfiguration für arcor.de/Vodafonemail =====
 +
 
 +
<pre>
 +
defaults
 +
# log to stdout
 +
logfile /var/log/msmtp
 +
 
 +
# Arcor
 +
account EMAILADDRESS@arcor.de
 +
host smtp.vodafonemail.de
 +
port 587
 +
tls on
 +
tls_starttls on
 +
auth on
 +
user EMAILADDRESS@arcor.de
 +
password GEHEIIM
 +
from EMAILADDRESS@arcor.de
 +
 
 +
# Set a default account
 +
account default : EMAILADDRESS@arcor.de
 +
</pre>
 +
 
 +
Hinweis: Das '''Passwort''' ist hier im Klartext '''sichtbar'''. Daher zumindest die Konfigurationsdatei nur für den Benutzer sichtbar machen:
 +
 
 +
  chmod 600 ~/.msmtp
 +
 
 +
===== msmtp-Konfiguration für googlemail =====
 +
 
 +
<pre>
 +
defaults
 +
# log to stdout
 +
logfile /var/log/msmtp
 +
 
 +
# Googlemail
 +
account EMAILNAME@gmail.com
 +
host smtp.gmail.com
 +
port 587
 +
tls on
 +
tls_starttls on
 +
auth on
 +
user EMAILNAME
 +
# passwordeval gpg --no-tty -q -d ~/.msmtp-password.gpg
 +
password GOOGLEAPPPASSWORD
 +
from EMAILNAME@gmail.com
 +
 
 +
# Set a default account
 +
account default : EMAILNAME@gmail.com
 +
</pre>
 +
 
 +
Hinweis: Das '''Google-App-Passwort''' ist hier im Klartext '''sichtbar'''. Daher zumindest die Konfigurationsdatei nur für den Benutzer sichtbar machen:
 +
 
 +
  chmod 600 ~/.msmtp
 +
 
 +
Außerdem sollte nicht das normale Google-Passwort genutzt werden, sondern ein speziell für diesen Zweck erstelltes App-Passwort. Dafür muss man in Google zunächst die Zwei-Faktor-Authentifizierung einrichten.
 +
 
 +
===== Benutzung =====
 +
 
 +
Erster Check der Konfiguration
 +
 
 +
  msmtp --serverinfo
 +
 
 +
Dummy-Mail losschicken
 +
 
 +
  msmtp -v EMPFAENGEREMAIL@BEISPIEL.DE <<EOF
 +
  hallo von HERE
 +
  EOF
 +
 
 +
Mit <code>mail</code> aus [[mailutils]] muss man die Senderadresse angeben:
 +
 
 +
  echo hallo | mail EMPFAENGEREMAIL@BEISPIEL.DE -aFrom:EMAILNAME@gmail.com --subject "Kreativer Betreff"
 +
 
 +
 
 +
==== Einfacher MTA mittels SSMTP ====
 +
 
 +
Hinweis: SSMTP wird gegenwärtig nicht mehr gewartet.<ref>https://wiki.debian.org/sSMTP</ref>,<ref>https://wiki.archlinux.org/title/SSMTP</ref>
 +
Mit SSMTP funktioniert angeblich auch die Konfiguration von GMX als Smarthost:<ref>Siehe https://debianforum.de/forum/viewtopic.php?f=30&t=148726</ref>,<ref>http://schneiders.spdns.de/2014/02/25/installation-smtp/</ref>
  
 
   sudo aptitude install ssmtp bsd-mailx
 
   sudo aptitude install ssmtp bsd-mailx
Zeile 44: Zeile 131:
 
Infos der folgenden cronjobs an die angegebene Email schicken.
 
Infos der folgenden cronjobs an die angegebene Email schicken.
  
== Einfacher MTA mittels Postfix ==
+
=== Einfacher MTA mittels Postfix ===
  
Man kann auch mit Hilfe von Postfix einen einfachen MTA aufsetzen. Dazu wählt man in
+
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
 
   sudo dpkg-reconfigure postfix
das "Satelliten-System" (keine Mail empfangen, sondern nur über einen SmartHost versenden).
+
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<ref>Siehe näher https://wiki.ubuntuusers.de/Postfix/</ref> (die gesamte Mail scheint dann von genau dieser einen Email-Adresse zu kommen), sind folgende Schritte nötig:
 
Um den Postfix-Versand für ein GMX-Konto einzurichten<ref>Siehe näher https://wiki.ubuntuusers.de/Postfix/</ref> (die gesamte Mail scheint dann von genau dieser einen Email-Adresse zu kommen), sind folgende Schritte nötig:
Zeile 59: Zeile 149:
 
   inet_interfaces = loopback-only
 
   inet_interfaces = loopback-only
 
   mailbox_size_limit = 0
 
   mailbox_size_limit = 0
   relayhost = mail.gmx.net:587
+
   relayhost = [mail.gmx.net]:587
 
   sender_canonical_maps = hash:/etc/postfix/sender_canonical
 
   sender_canonical_maps = hash:/etc/postfix/sender_canonical
 
   smtp_generic_maps = hash:/etc/postfix/generic
 
   smtp_generic_maps = hash:/etc/postfix/generic
Zeile 66: Zeile 156:
 
   smtp_sasl_security_options = noanonymous
 
   smtp_sasl_security_options = noanonymous
 
   smtp_tls_security_level = encrypt
 
   smtp_tls_security_level = encrypt
 +
 +
Die eckigen Klammern benötigte ich, weil ich ansonsten die Fehlermeldung
 +
  <cite>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)</cite>
 +
bekam.<ref>Vgl. auch https://forum.ubuntuusers.de/topic/postfix-empfaenger-root-in-echte-mailadresse-/</ref>
  
 
Folgender Dateiinhalt der <code>/etc/postfix/sasl_password</code> <small>(PASSWORD durch Passwort bei GMX austauschen; bei USER ebenfalls)</small>
 
Folgender Dateiinhalt der <code>/etc/postfix/sasl_password</code> <small>(PASSWORD durch Passwort bei GMX austauschen; bei USER ebenfalls)</small>
Zeile 93: Zeile 187:
 
Postfix neustarten:
 
Postfix neustarten:
 
   sudo service postfix restart
 
   sudo service postfix restart
 +
 +
==== Postfix mit Docker ====
 +
 +
Siehe
 +
* [https://github.com/noteed/docker-postfix/blob/master/Dockerfile Beispiel-Dockerfile] mit Vorkonfiguration von postfix mittels debconf-set-selections und postconf
  
 
== IMAP Server ==
 
== IMAP Server ==
Zeile 165: Zeile 264:
  
 
Unter Ubuntu<ref>Siehe https://help.ubuntu.com/community/Roundcube</ref> installiert man es mit
 
Unter Ubuntu<ref>Siehe https://help.ubuntu.com/community/Roundcube</ref> installiert man es mit
   sudo aptitude install roundcube roundcube-plugins mysql-server  
+
   sudo aptitude install roundcube roundcube-plugins mysql-server apache2
 
   sudo dpkg-reconfigure roundcube-core
 
   sudo dpkg-reconfigure roundcube-core
 
    
 
    
Zeile 172: Zeile 271:
 
   sudo ln -s /usr/share/roundcube /var/www/roundcube
 
   sudo ln -s /usr/share/roundcube /var/www/roundcube
  
Um TLS-verschlüsselte Verbindungen zum Server zu ermöglichen, muss das Präfix <code>tls://</code> vor den IMAP-Servernamen gestellt werden <small>(Ansonsten bekommt man die Fehlermeldung, dass die Verbindung zum Speicherserver [IMAP-Server] fehlgeschlagen sei)</small>. Dies geschieht in der Datei <code>/etc/roundcube/mail.inc.php</php>:
+
Um TLS-verschlüsselte Verbindungen zum Server zu ermöglichen, muss das Präfix <code>tls://</code> vor den IMAP-Servernamen gestellt werden <small>(Ansonsten bekommt man die Fehlermeldung, dass die Verbindung zum Speicherserver [IMAP-Server] fehlgeschlagen sei)</small>. Dies geschieht in der Datei <code>/etc/roundcube/mail.inc.php</code>:
  
 
   $rcmail_config['default_host'] = array('ssl://mail.example.com:993');
 
   $rcmail_config['default_host'] = array('ssl://mail.example.com:993');
Zeile 238: Zeile 337:
 
Siehe auch  
 
Siehe auch  
 
* [https://joel.porquet.org/wiki/hacking/getmail_dovecot/ Anleitung zur Nutzung von GetMail und Dovecot] zur Nutzung eines privaten Servers als Mail-Speicher
 
* [https://joel.porquet.org/wiki/hacking/getmail_dovecot/ Anleitung zur Nutzung von GetMail und Dovecot] zur Nutzung eines privaten Servers als Mail-Speicher
 +
* [https://www.unixwitch.de/de/sysadmin/tools/imap-mit-ssl-testen direkte Kommunikation mit dem IMAP-Server]
 +
** https://tewarid.github.io/2011/05/10/access-imap-server-from-the-command-line-using-openssl.html
 +
** http://www.marshallsoft.com/ImapSearch.htm
 +
* https://github.com/Gentux/imap-cli
 +
** https://pythonhosted.org/Imap-CLI/
 +
* [https://debian-administration.org/article/726/Performing_IMAP_queries_via_curl IMAP mit Hilfe von curl]
  
 
== POP3 abfragen ==
 
== POP3 abfragen ==
Zeile 249: Zeile 354:
 
Anleitungen für [http://pyropus.ca/software/getmail/configuration.html GetMail]:
 
Anleitungen für [http://pyropus.ca/software/getmail/configuration.html GetMail]:
 
* [https://help.ubuntu.com/community/POP3Aggregator#Configuring_GetMail POP3Agregator]
 
* [https://help.ubuntu.com/community/POP3Aggregator#Configuring_GetMail POP3Agregator]
 +
* [https://www.howtoforge.com/debian_etch_getmail_p3 Getmail-Beispiele (u.a. für Weiterleitung an procmail als MDA)]
  
 
Installation von GetMail
 
Installation von GetMail
Zeile 274: Zeile 380:
  
 
Sinnvoll ist das regelmäßige Starten mittels [[cron]].
 
Sinnvoll ist das regelmäßige Starten mittels [[cron]].
 +
 +
== Automatisch Mail bearbeiten ==
 +
 +
=== notmuchmail ===
 +
 +
Um seine heruntergeladenen Mails auf dem lokalen Computer zu durchsuchen, bietet sich das Shell-Programm [https://notmuchmail.org/ NotMuchMail] an, das auch große Mengen von Mails durchsuchen kann.
 +
 +
Falls man mit notmuchmail Mails gefunden hat, kann man diese mit
 +
notmuch show $SEARCH_EXPRESSION
 +
anzeigen lassen.
 +
 +
==== GUI für einzelne Mails ====
 +
Benötigt man einen graphischen Client für einzelne Mails, kann man KMail oder [[evolution]] installieren und die fraglichen Dateien, die mit
 +
  notmuch search --output=files $SEARCH_EXPRESSION
 +
angezeigt werden in <code>.mbox</code> umbenennen und dann mit
 +
  kmail $DATEINAME
 +
oder
 +
  evolution $DATEINAME
 +
öffnen
 +
 +
==== Simple Web-GUI für notmuch ====
 +
 +
* https://github.com/DavidMStraub/netviel
 +
** https://fritz.wtf/posts/notmuch_netviel/
 +
** [https://www.richyhbm.co.uk/posts/simple-email-archive/ netviel in einem Docker-Container]
 +
 +
  sudo apt install notmuch python3-notmuch
 +
  python3 -m pip install netviel --user
 +
  source ~/netviel/bin/activate
 +
  pip install notmuch
 +
  python -m netviel
 +
 +
=== Die .forward Datei ===
 +
Eine einfache  <code>.forward</code>-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 <code>procmail</code> und der Datei <code>.procmailrc</code>
 +
 +
=== Attachments auspacken ===
 +
 +
==== mit mail-utils ====
 +
 +
Mit
 +
  mu extract mailfile
 +
können die Anänge in einer Maildir-Datei angezeigt werden und mit demselben Tool auch extrahiert werden.
 +
 +
Das funktioniert gut zusammen mit [[notmuch]] in Form von <code>notmuch search --output=files $SUCHAUSDRUCK</code>. Beispiel:
 +
 +
  notmuch search --output=files $SUCHAUSDRUCK | xargs -n1 mu extract -a --play
 +
 +
==== mit munpack oder ripmime ====
 +
Mit den Programmen <code>munpack</code> (Package <code>mpack</code>) oder [http://www.pldaniels.com/ripmime/ | <code>ripmime</code> ] lassen sich Email-Attachments aus einer Mail-Datei entpacken.
 +
 +
 +
Eine <code>/home/USER/.forward</code> Datei  für '''munpack''' sieht beispielsweise so aus:
 +
  "| munpack -C /home/USER/attachments"
 +
 +
Eine <code>/home/USER/.forward</code> Datei  für '''ripmime''' sieht beispielsweise so aus:
 +
  "| ripmime -i - --infix -d /home/USER/attachments"
 +
 +
Siehe auch
 +
* https://blog.lundscape.com/2009/10/extract-email-attachments-with-procmail-and-munpack/
 +
* http://www.pldaniels.com/ripmime/
 +
 +
=== In .eml-Datei verpacken ===
 +
 +
Eine einzelne Email wird in [[Outlook]] als .eml-Datei gespeichert. Mit Hilfe von [[mutt]] kann man eine [[Maildir]]-Email auch in .eml umwandeln:
 +
Siehe https://unix.stackexchange.com/questions/60838/saving-email-as-file-in-mutt
  
 
== Umstieg von Microsoft Outlook ==
 
== Umstieg von Microsoft Outlook ==
Zeile 296: Zeile 469:
 
[http://en.wikipedia.org/wiki/PhpList Phplist] ist ein [[OpenSource]]-Mailinglist-Programm. Es ist eher für Newsletter als für Diskussionslisten gedacht.
 
[http://en.wikipedia.org/wiki/PhpList Phplist] ist ein [[OpenSource]]-Mailinglist-Programm. Es ist eher für Newsletter als für Diskussionslisten gedacht.
  
 +
 +
Der FreeMailer [https://www.gmx.de GMX] bietet Mailinglisten als so genannte "Verteiler" an, die in den Email-Optionen angelegt werden können. ein Nachteil ist die unschöne Form der Mail-Adressen:
 +
  verteilername%normale_Emailadresse@gmx.de
 +
Besonders das Prozentzeichen sorgt m. E. für Verwirrung.
 +
 
Siehe auch
 
Siehe auch
 
* [http://de.wikipedia.org/wiki/Ezmlm Ezmlm]
 
* [http://de.wikipedia.org/wiki/Ezmlm Ezmlm]
Zeile 322: Zeile 500:
  
  
 +
* Einen indirekten Nachfolger für den Opera Email-Client M2, der bis Version 12 im Opera Browser enthalten war, wird für den [https://vivaldi.com/blog/address-bar-and-tab-fixes-better-drm-support-plus-the-start-of-the-mail-calendar-and-rss-technical-previews-vivaldi-browser-snapshot-2115-4/ Vivaldi-Browser entwickelt].
 +
** Im aktuellen Snapshot von Vivaldi kann der Email-Client unter vivaldi://experiments/ aktiviert werden.
 
* [http://wiki.ubuntuusers.de/Claws_Mail Claws Mail] (Gtk+-basiert, ursprünglich auf Basis von Sylpheed entwickelt, HTML-Mails nur über Plugins)
 
* [http://wiki.ubuntuusers.de/Claws_Mail Claws Mail] (Gtk+-basiert, ursprünglich auf Basis von Sylpheed entwickelt, HTML-Mails nur über Plugins)
 
* [http://wiki.ubuntuusers.de/Sylpheed Sylpheed] (Gtk+-basiert, keine HTML-Mails)
 
* [http://wiki.ubuntuusers.de/Sylpheed Sylpheed] (Gtk+-basiert, keine HTML-Mails)
Zeile 341: Zeile 521:
 
* Angabe des ''localhost'' als IMAP- und SMTP-Server
 
* Angabe des ''localhost'' als IMAP- und SMTP-Server
 
* Für SMTP den Port 25 angeben
 
* Für SMTP den Port 25 angeben
 +
 +
=== Senden von Emails aus der Shell ===
 +
 +
Mit <code>mail</code> aus dem Paket <code>mailutils</code> lässt sich Email aus der Kommandozeile versenden.
 +
 +
Für Attachments braucht man <code>mpack</code> oder <code>mutt</code>.<ref>Vgl. http://stackoverflow.com/questions/17359/how-do-i-send-a-file-as-an-email-attachment-using-linux-command-line</ref>
 +
 +
Beispiel:
 +
  echo "Das ist der Nachrichtentext" | mutt -s "subject of message" -a "meinbild.jpg" -- empfaenger@beispiel.de
 +
 +
== Große Anhänge ==
 +
 +
Email-Server lehnen meist größere Datei-Anhänge ab. Dafür sind so genannte Filelink-Dienste entstanden. U.a. [[Dropbox]] bietet eine solche Funktionalität, WeTransfer war der erste große Player auf dem Filelink-Gebiet.
 +
 +
Einen Filelink-Server kann man auch selbst betreiben. Dazu eignet sich [https://github.com/root-gg/plik Plik], für das auch ein Add-On für [[Thunderbird]] verfügbar ist.
 +
 +
== Mail und Verschlüsselung ==
 +
 +
Mail und Signierung bzw. Verschlüsselung ist ein notwendiges Thema.
 +
 +
=== S/MIME ===
 +
 +
Viele Email-Clients unterstützen S/MIME-Verschlüsselung. Allerdings sollten Zertifikate genutzt werden, die von einer Certificate Authority stammen, die auf den meisten Plattformen standardmäßig unterstützt/vertraut werden.
 +
 +
Kostenlose Zertifikate gibt es z.B. von
 +
* Actalis, siehe
 +
** https://www.frankysweb.de/tipp-kostenloses-s-mime-zertifikat-neu/
 +
** Achtung: Das kostenlose Zertifikat wird auf dem Actalis-Server erzeugt - man vertraut daher den privaten Schlüssel Actalis an!
 +
* [https://account.wisekey.com/ WiseKey]
 +
** Achtung: Das kostenlose Zertifikat wird auf dem WiseKey-Server erzeugt - man vertraut daher den privaten Schlüssel Actalis an!
 +
* [https://sectigo.com/signing-certificates/email-smime-certificate Sectigo]
 +
** Kostenlos nur 30 Tage gültig
 +
 +
Die unter Windows standardmäßig installierten Stammzertifikate findet man [https://gallery.technet.microsoft.com/Trusted-Root-Program-831324c6 auf der Microsoft-Seite].
 +
 +
=== PGP ===
 +
* GMX-Email-Verschlüsselung
 +
* [[K9-Mail]] mit OpenPGP-Erweiterung
  
 
== Fehlersuche ==
 
== Fehlersuche ==

Aktuelle Version vom 23. März 2024, 08:50 Uhr

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
  • msmtp
  • OpenSMTPd
  • früher: SSMTP

Einfacher MTA mittels msmtp

Installieren mit

 sudo aptitude install msmtp msmtp-mta

Schauen wo die Konfigurationsdateien sich befinden:

 msmtp --version

Unter Ubuntu 20.04 Focal lautet der Pfad zur systemweiten Konfigurationsdatei /etc/msmtprc und zur Benutzerkonfigurationsdatei: /home/david/.msmtprc.

msmtp-Konfiguration für arcor.de/Vodafonemail
defaults
# log to stdout
logfile /var/log/msmtp

# Arcor
account EMAILADDRESS@arcor.de
host smtp.vodafonemail.de
port 587
tls on
tls_starttls on
auth on
user EMAILADDRESS@arcor.de
password GEHEIIM
from EMAILADDRESS@arcor.de

# Set a default account
account default : EMAILADDRESS@arcor.de

Hinweis: Das Passwort ist hier im Klartext sichtbar. Daher zumindest die Konfigurationsdatei nur für den Benutzer sichtbar machen:

 chmod 600 ~/.msmtp
msmtp-Konfiguration für googlemail
defaults
# log to stdout
logfile /var/log/msmtp

# Googlemail
account EMAILNAME@gmail.com
host smtp.gmail.com
port 587
tls on
tls_starttls on
auth on
user EMAILNAME
# passwordeval gpg --no-tty -q -d ~/.msmtp-password.gpg
password GOOGLEAPPPASSWORD
from EMAILNAME@gmail.com

# Set a default account
account default : EMAILNAME@gmail.com

Hinweis: Das Google-App-Passwort ist hier im Klartext sichtbar. Daher zumindest die Konfigurationsdatei nur für den Benutzer sichtbar machen:

 chmod 600 ~/.msmtp

Außerdem sollte nicht das normale Google-Passwort genutzt werden, sondern ein speziell für diesen Zweck erstelltes App-Passwort. Dafür muss man in Google zunächst die Zwei-Faktor-Authentifizierung einrichten.

Benutzung

Erster Check der Konfiguration

 msmtp --serverinfo

Dummy-Mail losschicken

 msmtp -v EMPFAENGEREMAIL@BEISPIEL.DE <<EOF
 hallo von HERE
 EOF

Mit mail aus mailutils muss man die Senderadresse angeben:

 echo hallo | mail EMPFAENGEREMAIL@BEISPIEL.DE -aFrom:EMAILNAME@gmail.com --subject "Kreativer Betreff"


Einfacher MTA mittels SSMTP

Hinweis: SSMTP wird gegenwärtig nicht mehr gewartet.[1],[2] Mit SSMTP funktioniert angeblich auch die Konfiguration von GMX als Smarthost:[3],[4]

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


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

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

 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[10]

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

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

Erzeuge symbolischen Link:[12]

 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:

 $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

notmuchmail

Um seine heruntergeladenen Mails auf dem lokalen Computer zu durchsuchen, bietet sich das Shell-Programm NotMuchMail an, das auch große Mengen von Mails durchsuchen kann.

Falls man mit notmuchmail Mails gefunden hat, kann man diese mit

notmuch show $SEARCH_EXPRESSION 

anzeigen lassen.

GUI für einzelne Mails

Benötigt man einen graphischen Client für einzelne Mails, kann man KMail oder evolution installieren und die fraglichen Dateien, die mit

 notmuch search --output=files $SEARCH_EXPRESSION

angezeigt werden in .mbox umbenennen und dann mit

 kmail $DATEINAME

oder

 evolution $DATEINAME

öffnen

Simple Web-GUI für notmuch

 sudo apt install notmuch python3-notmuch
 python3 -m pip install netviel --user
 source ~/netviel/bin/activate
 pip install notmuch
 python -m netviel

Die .forward Datei

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 mail-utils

Mit

 mu extract mailfile

können die Anänge in einer Maildir-Datei angezeigt werden und mit demselben Tool auch extrahiert werden.

Das funktioniert gut zusammen mit notmuch in Form von notmuch search --output=files $SUCHAUSDRUCK. Beispiel:

 notmuch search --output=files $SUCHAUSDRUCK | xargs -n1 mu extract -a --play

mit munpack oder ripmime

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

In .eml-Datei verpacken

Eine einzelne Email wird in Outlook als .eml-Datei gespeichert. Mit Hilfe von mutt kann man eine Maildir-Email auch in .eml umwandeln: Siehe https://unix.stackexchange.com/questions/60838/saving-email-as-file-in-mutt

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.


Der FreeMailer GMX bietet Mailinglisten als so genannte "Verteiler" an, die in den Email-Optionen angelegt werden können. ein Nachteil ist die unschöne Form der Mail-Adressen:

 verteilername%normale_Emailadresse@gmx.de

Besonders das Prozentzeichen sorgt m. E. für Verwirrung.

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

  • Einen indirekten Nachfolger für den Opera Email-Client M2, der bis Version 12 im Opera Browser enthalten war, wird für den Vivaldi-Browser entwickelt.
    • Im aktuellen Snapshot von Vivaldi kann der Email-Client unter vivaldi://experiments/ aktiviert werden.
  • 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.[13]

Beispiel:

 echo "Das ist der Nachrichtentext" | mutt -s "subject of message" -a "meinbild.jpg" -- empfaenger@beispiel.de

Große Anhänge

Email-Server lehnen meist größere Datei-Anhänge ab. Dafür sind so genannte Filelink-Dienste entstanden. U.a. Dropbox bietet eine solche Funktionalität, WeTransfer war der erste große Player auf dem Filelink-Gebiet.

Einen Filelink-Server kann man auch selbst betreiben. Dazu eignet sich Plik, für das auch ein Add-On für Thunderbird verfügbar ist.

Mail und Verschlüsselung

Mail und Signierung bzw. Verschlüsselung ist ein notwendiges Thema.

S/MIME

Viele Email-Clients unterstützen S/MIME-Verschlüsselung. Allerdings sollten Zertifikate genutzt werden, die von einer Certificate Authority stammen, die auf den meisten Plattformen standardmäßig unterstützt/vertraut werden.

Kostenlose Zertifikate gibt es z.B. von

Die unter Windows standardmäßig installierten Stammzertifikate findet man auf der Microsoft-Seite.

PGP

  • GMX-Email-Verschlüsselung
  • K9-Mail mit OpenPGP-Erweiterung

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.