Mich hat es mal wieder zu mutt gezogen. Da ich seit einiger Zeit mein Gmail Konto für Emails benutze musste dies erstmal eingerichtet werden. Da man bei Gmail ein paar Sachen beachten muss führe ich es mal auf.
Also nun erstmal muss fetchmail eingerichtet werden. Dazu legen wir die Datei .fetchmailrc an.
poll pop.gmail.com with protocol pop3,
user $GMAILUSER@gmail.com there is $LOCALUSER here options ssl,
with password $PASSWORD;mda ‘/usr/bin/procmail’
Da werden die Emails abgeholt und an procmail weitergegeben. Natürlich muss auch eine .procmailrc her
# Wo befindet sich das Mail-Verzeichnis?
MAILDIR=$HOME/mail/
# Wohin soll das log-file? Da wir hier alles für einen Einzel-User machen:
LOGFILE=$HOME/.procmaillog
# procmail soll nicht im verbose-Mode laufen
VERBOSE=no# Die nächsten Einträge werden dann für die Konfiguration
# spamassassin von Belang sein, siehe dafür weiter unten,
# für eine Erklärung:
#:0 fhw
#| spamc#:0 fhw
#* ^X-Spam-Status: Yes
#spam/## Mailinglisten. Für dieses Howto nehmen wir mal an, wir
# in den mailinglisten debian-user und debian-user-german
# eingeschrieben:# debian-user-german
:0
* ^TO_dwm
dwm/# debian-user
:0
* ^TO_juser
juser/# juser
:0
* ^TO_juser
juser/# tor
:0
* ^TO_or-talk
or-talk/:0
* ^TO_cmus-devel
cmus-devel/# Alle anderen, nicht gefilterten Mails sollen in inbox
# verschoben werden.
:0
inbox/
Ich habe SpamAssasin aus weil ich es noch nicht brauche. GoogleMail erledigt einen guten SpamFilter-Job. Dann wird geschaut ob Emails da sind aus den Mailinglisten die ich abonniert habe.
Die ~/mail-Verzeichnisstruktur muss angelegt werden.
$ mkdir -p ~/mail/inbox/{cur,new,tmp}
$ mkdir -p ~/mail/sent/{cur,new,tmp}
$ mkdir -p ~/mail/dwm/{cur,new,tmp}
$ mkdir -p ~/mail/juser/{cur,new,tmp}
…
So nun machen wir uns an die .muttrc. Die Kommentare sollten eigentlich alles erklären.
set mbox_type=maildir
set mbox=”~/mail/inbox/”
set spoolfile=”~/mail/inbox/”
set folder=”~/mail/”
set record=”~/mail/sent/”
set sendmail=”/usr/bin/msmtp”
set from=”$GMAILUSER@gmail.com”# Füge hier für jede Mailbox einen Eintrag hinzu:
mailboxes ~/mail/inbox ~/mail/saved ~/mail/dwm ~/mail/or-talk ~/mail/juser# Wir wollen in der Header, nur die Informationen “from”, “resent-from”
# “reply-to”, “x-mailer” “user-agent” “date” “to” “cc” und “subject” an-
# zeigen lassen.ignore *
unignore from resent-from reply-to x-mailer user-agent date to cc subject# In welcher Reihenfolge sollen diese gewünschten Header angezeigt werden?
hdr_order From: Resent-From: Reply-To: X-Mailer: User-Agent: Date: To: Cc: Subject:# Wie sollen die Mail sortiert werden?
set sort=threads# Soll beim antworten, atomatisch zitiert werden? In diesem Fall
# ja
set include=yes# Wie soll zitiert werden
set indent_str=”> ”# Zeige den body nur an, wenn eine Mail editiert wird.
unset edit_headers# Möchten auch Mutt so einstellen, dass man auch fetchmail manuell
# aufrufen kann. Durch eingegen von G wird fetchmail aufgerufen.
macro index G “!fetchmail\n” “Invoke fetchmail”
macro pager G “!fetchmail\n” “Invoke fetchmail”# Gebe mutt an, an welche Mailinglisten wir angemeldet sind
subscribe or-talk dwm juser# Mit der nächsten Einstellung, richten wir mutt so ein, dass der
# Author des Mails angezeigt wird, in der Liste
set index_format=”%4C %Z %{%b %d} %-15.15F (%?l?%4l&%4c?) %s”# Suche mithilfe von abook als Adressbuch (siehe weiter unten!)
set query_command=”abook –mutt-query ‘%s’”# muttprint installieren, dann folgende Zeile auskommentieren, damit
# man auch in Mutt die e-mails ausdrucken kann.
# set print_command=”muttprint”# urlview: Ausgeben von links die in einer e-mail vorhanden sind,
# zur Weiterverwendung mit einem Browser
#macro index cb “|urlview\n”
#macro pager cb “|urlview\n”# Durch drücken der Taste a, kann man den Absender in das
# Addressbuch aufnehmen
#macro index a “|abook –add-email\n” ‘add sender to abook’
#macro pager a “|abook –add-email\n” ‘add sender to abook’# Signatur ide für die e-mails verwendet werden soll. Man lasse hier
# die Pipe “|” weg, wenn es sich um ./signature um kein skipt handeln
# sollte
#set signature=”~/.signature”# Farben definieren für Mutt
color normal default default
color hdrdefault cyan default
color signature green default
color attachment brightyellow default
#color indicator brightyellow default
color indicator white blue
color quoted green default
color quoted1 white default
color tilde blue default
color tree red defaultcolor body cyan default “[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+”
color body brightwhite default “(http|ftp|news|telnet|finger)://[^ \">\t\r\n]*”
color body brightwhite default “mailto:[-a-z_0-9.]+@[-a-z_0-9.]+”color header brightmagenta default ^(Date):
color header brightyellow default ^Subject:color body brightred default ” [;:]-*[)>(< |]”
# gnupg
source ~/.muttrc.gpg# aliases
source ~/.muttrc.alias
Damit gnupg funktioniert legen wir ~/.muttrc.gpg an
# -*-muttrc-*-
#
# Command formats for gpg.
#
# This version uses gpg-2comp from
# http://muppet.faveve.uni-stuttgart.de/~gero/gpg-2comp.tar.gz
#
# $Id: gpg.rc,v 3.4 2005/01/27 18:27:36 roessler Exp $
#
# %p The empty string when no passphrase is needed,
# the string “PGPPASSFD=0″ if one is needed.
#
# This is mostly used in conditional % sequences.
#
# %f Most PGP commands operate on a single file or a file
# containing a message. %f expands to this file’s name.
#
# %s When verifying signatures, there is another temporary file
# containing the detached signature. %s expands to this
# file’s name.
#
# %a In “signing” contexts, this expands to the value of the
# configuration variable $pgp_sign_as. You probably need to
# use this within a conditional % sequence.
#
# %r In many contexts, mutt passes key IDs to pgp. %r expands to
# a list of key IDs.# Note that we explicitly set the comment armor header since GnuPG, when used
# in some localiaztion environments, generates 8bit data in that header, thereby
# breaking PGP/MIME.# decode application/pgp
set pgp_decode_command=”/usr/bin/gpg –charset utf-8 –status-fd=2 %?p?–passphrase-fd 0? –no-verbose –quiet –batch –output - %f”# verify a pgp/mime signature
set pgp_verify_command=”/usr/bin/gpg –status-fd=2 –no-verbose –quiet –batch –output - –verify %s %f”# decrypt a pgp/mime attachment
set pgp_decrypt_command=”/usr/bin/gpg –status-fd=2 %?p?–passphrase-fd 0? –no-verbose –quiet –batch –output - %f”# create a pgp/mime signed attachment
# set pgp_sign_command=”/usr/bin/gpg-2comp –comment ” –no-verbose –batch –output - –passphrase-fd 0 –armor –detach-sign –textmode %?a?-u %a? %f”
set pgp_sign_command=”/usr/bin/gpg –no-verbose –batch –quiet –output - %?p?–passphrase-fd 0? –armor –detach-sign –textmode %?a?-u %a? %f”# create a application/pgp signed (old-style) message
# set pgp_clearsign_command=”/usr/bin/gpg-2comp –comment ” –no-verbose –batch –output - –passphrase-fd 0 –armor –textmode –clearsign %?a?-u %a? %f”
set pgp_clearsign_command=”/usr/bin/gpg –charset utf-8 –no-verbose –batch –quiet –output - %?p?–passphrase-fd 0? –armor –textmode –clearsign %?a?-u %a? %f”# create a pgp/mime encrypted attachment
# set pgp_encrypt_only_command=”pgpewrap gpg-2comp -v –batch –output - –encrypt –textmode –armor –always-trust — -r %r — %f”
set pgp_encrypt_only_command=”pgpewrap /usr/bin/gpg –charset utf-8 –batch –quiet –no-verbose –output - –encrypt –textmode –armor –always-trust — -r %r — %f”# create a pgp/mime encrypted and signed attachment
# set pgp_encrypt_sign_command=”pgpewrap gpg-2comp –passphrase-fd 0 -v –batch –output - –encrypt –sign %?a?-u %a? –armor –always-trust — -r %r — %f”
set pgp_encrypt_sign_command=”pgpewrap /usr/bin/gpg –charset utf-8 %?p?–passphrase-fd 0? –batch –quiet –no-verbose –textmode –output - –encrypt –sign %?a?-u %a? –armor –always-trust — -r %r — %f”# import a key into the public key ring
set pgp_import_command=”/usr/bin/gpg –no-verbose –import %f”# export a key from the public key ring
set pgp_export_command=”/usr/bin/gpg –no-verbose –export –armor %r”# verify a key
set pgp_verify_key_command=”/usr/bin/gpg –verbose –batch –fingerprint –check-sigs %r”# read in the public key ring
set pgp_list_pubring_command=”/usr/bin/gpg –no-verbose –batch –quiet –with-colons –list-keys %r”# read in the secret key ring
set pgp_list_secring_command=”/usr/bin/gpg –no-verbose –batch –quiet –with-colons –list-secret-keys %r”# fetch keys
# set pgp_getkeys_command=”pkspxycwrap %r”# pattern for good signature - may need to be adapted to locale!
# set pgp_good_sign=”^gpg: Good signature from”
# OK, here’s a version which uses gnupg’s message catalog:
# set pgp_good_sign=”`gettext -d gnupg -s ‘Good signature from “‘ | tr -d ‘”‘`”# This version uses –status-fd messages
set pgp_good_sign=”^\\[GNUPG:\\] GOODSIG”
Nun müßen die Emails nur noch versendet werden können. Da habe ich mich für msmtp entschieden weil mein Provider Port 25 sperrt. Kann man ja auch verstehen wegen den ganzen Spam-Ungeziefer und nicht geschützten Windows-Kisten.
So und hier meine .msmtprc
account gmail
host smtp.gmail.com
auth on
user $GMAILUSER@gmail.com
password $PASSWORD
tls on
tls_starttls on
from $GMAILUSER@gmail.com
maildomain gmail.com
account default : gmail


