From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
X-Latest-change: Thu Mar 17 17:42:23 CET 2016
= Title =
┃ _____ _ _ _ _ __ __ _ _
┃ | ____| _ __ ___ __ _ (_)| | _ __ ___ (_)| |_ | \/ | _ _ | |_ | |_
┃ | _| | '_ ` _ \ / _` || || | | '_ ` _ \ | || __| | |\/| || | | || __|| __|
┃ | |___ | | | | | || (_| || || | | | | | | || || |_ | | | || |_| || |_ | |_
┃ |_____||_| |_| |_| \__,_||_||_| |_| |_| |_||_| \__| |_| |_| \__,_| \__| \__|
★
★ _____ _ _ _ _ _ __ __ _ _
★ | ____| _ __ ___ __ _ (_)| | __ __(_)| |_ | |__ | \/ | _ _ | |_ | |_
★ | _| | '_ ` _ \ / _` || || | \ \ /\ / /| || __|| '_ \ | |\/| || | | || __|| __|
★ | |___ | | | | | || (_| || || | \ V V / | || |_ | | | | | | | || |_| || |_ | |_
★ |_____||_| |_| |_| \__,_||_||_| \_/\_/ |_| \__||_| |_| |_| |_| \__,_| \__| \__|
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
┃ _____ _ _ _ _ __ __ _ _
┃ | ____| _ __ ___ __ _ (_)| | _ __ ___ (_)| |_ | \/ | _ _ | |_ | |_
┃ | _| | '_ ` _ \ / _` || || | | '_ ` _ \ | || __| | |\/| || | | || __|| __|
┃ | |___ | | | | | || (_| || || | | | | | | || || |_ | | | || |_| || |_ | |_
┃ |_____||_| |_| |_| \__,_||_||_| |_| |_| |_||_| \__| |_| |_| \__,_| \__| \__|
= Vorschau =
Zeit: Mi 9. März 2016 19-20:30h
Rahmen: Berliner Linux User Group (BeLUG)
http://www.belug.de/aktivitaeten-kalender/eMailMitMutt2016.html
Ort: beim IN-Berlin: http://www.in-berlin.de/space
Lehrter Straße 53, 10557 Berlin (Moabit, Tiergarten, Mitte)
http://www.openstreetmap.org/node/412766878
Programm: 40min "show", dann Pause, dann Q&A.
http://www.guckes.net/talks/mutt.features.txt
http://www.guckes.net/talks/mutt.features.html (in Farbe)
"Warum ist der Text in Englisch - und nicht Deutsch?"
"Weil da für mich so einfacher ist. Eine Übersetzung mache
ich gerne.. allerdings kommt immer noch einiges hinzu."
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
┃ _____ _ _ _ _ __ __ _ _
┃ | ____| _ __ ___ __ _ (_)| | _ __ ___ (_)| |_ | \/ | _ _ | |_ | |_
┃ | _| | '_ ` _ \ / _` || || | | '_ ` _ \ | || __| | |\/| || | | || __|| __|
┃ | |___ | | | | | || (_| || || | | | | | | || || |_ | | | || |_| || |_ | |_
┃ |_____||_| |_| |_| \__,_||_||_| |_| |_| |_||_| \__| |_| |_| \__,_| \__| \__|
= Talk =
Sven Guckes: "Email mit Mutt" (Email with Mutt)
2016-03-19 16:00 in Raum V4
19.03.2016 16:00 in Raum V4
https://chemnitzer.linux-tage.de/2016/en/programm/beitrag/391
http://www.guckes.net/talks/mutt.features.txt
http://www.guckes.net/talks/mutt.features.html (in colour)
= Event =
Chemnitzer Linux-Tage Motto: "Es ist Dein Projekt"
2016-01-08 cfp deadline http://chemnitzer.linux-tage.de/2016/
2016-03-18/19 event :) Sa 8:30-18h, So 9-18h | Anfahrt:
Sa+So 19.+20. März 2016 www.freedom-tours.de www.linuxbus.de
★ From: Sven Guckes <clt2016@guckes.net>
★ Date: Sat Mar 19 16:00:00 CET 2016
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Beschreibung =
Email mit Mutt
"Email als Kommunikation ist für alle Projekte
immer noch ein zentraler Dienst.
Ein guter Mailclient ist von Vorteil.
Mutt bietet viele Vorteile, die man
bei den meisten anderen vermisst.
Davon möchte ich euch 23 bis 42 zeigen."
= Description =
Email with Mutt
"Email as communication still is
a central service on the internet.
A good mail client is an advantage.
Mutt offers a lot of advantages
which you will miss in others.
I will show you 23 to 42 of these.."
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
mitlesen? bittesehr:
"website" holen:
$ wget guckes.net/mt
mit mutt lesen:
$ mutt -f mt
Fragen?
bitte aufschreiben/merken.
nach der Pause besprechen.
frage nicht beantwortet?
bitte per email schicken!
Ablauf:
dieser vortrag ist eine 40min *show*.
es zeigt die *features* des programms.
*warum* verwende ich es überhaupt?
wohlgemerkt:
man kann eh nicht alles in 40min zeigen. "alles" würde
mindestens ein ganzes wochenende beanspruchen.
darum mache ich eine *persönliche* auswahl.
wie könnte es auch anderes sein?
MyView:
meine sicht der dinge:
* email verwende ich seit ca 1988 - (fast) jeden tag. "geschnittenes brot!"
* ich halte meine mails *nicht* auf dem laptop vor (warum sollte ich?)
* ich verbinde mich von irgendeinem rechner per mosh/ssh ("ssh client") zum server
* ich verwende den mailer mutt, seitdem es ihn gibt (seit feb 1996).
* alle verwendete tools müssen gut auf mich anzupassen sein. mutt passt!
in-berlin.de:
* IN-Berlin ist mein Internet Service Provider (ISP) seit vielen jahren
* dort werden alle eingehenden emails auf dem mailserver bewertet -> "X-Spam-Score:"
* mails können natürlich direkt an den account weitergeleitet werden..
* .. aber das fortlaufende eingehen habe ich abgeschaltet. (es stört mich)
* fetchmail holt die mails vom mailserver auf anfrage - wenn ich zeit habe
* procmail verteilt die mails nach absender bzw verteileradresse auf folder
* mutt kennt alle folder mit eingehenden mails (mailboxes)
* mutt zeigt alle mailboxes in einem eigenen menu an (mutt -y)
* mutt versteht IMAP(S) - aber das ist mir immer zu langsam
* .. und ich weiss nicht, ob ich den andere vertrauen kann ;)
ausserdem:
* IN-Berlin hat "alle" daten (emails, programme und konfigurationen)
* IN-Berlin macht jede Nacht einen backup :-)
* IN-Berlin leute treffen sich jeden dienstag
* IN-Berlin antwortet auf anfragen sehr schnell und kompetent
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
ABOUT BASSEL KHARTABIL-SAFADI:
On March 15, 2012, Bassel Khartabil was detained in a
wave of arrests in the Mazzeh district of Damascus.
Until October 2015, he was being held at Adra Prison
in Damascus by the Syrian government.
His current whereabouts are unknown.
We are asking: Where is Bassel?
https://de.wikipedia.org/wiki/Bassel_Khartabil
http://freebassel.org/
2016-03-19 14h/2pm:
London: Marble Arch
Paris: Centre Georges Pompidou
Berlin: Alexanderplatz
2016-03-19 14h - Weinbergsweg 9, 10119 Berlin
https://www.facebook.com/events/515230938663059/
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Überblick - kurz =
* relativ kleines Programm (stripped ca 750KB)
* super schnell! (lokal, nicht per IMAP ;-)
* hochkonfigurabel (ca 350 optionen)
* textbasiert
* Key Binding. Macros.
* Freie Software! (GPL)
* FARBE! :)
Kommandos:
* bounce (sende Kopie - ohne Änderungen am header+body)
* list-reply (antworte *nur* an die Mailingliste)
* PGP Support (Signatur+Verschlüsselung)
Optionen:
* display_filter (Nachricht erst filtern, dann Resultat anzeigen)
* reverse_alias (zu wem gehört der Alias)
* reverse_name (antworte als Angesprochener)
* to_chars (an wen ging diese email?)
* UNIX -> externe Tools - austauschbar/modular!
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Überblick - lang =
* Texttool - rennt überall :)
* Verdammt schnell -> time mutt -f ~/Mail.IN/VIM
[Selbstverständlich?]
* Ansicht der Diskussionen als Bäume (threads)
* Übersichtsmenu der Mailboxes (Folder für eingehende Nachrichten)
* Ansicht aller Teile bzw Anhänge (attachments)
* Mailformate: versteht die Formate mailbox + maildir (und zwei weitere)
[Nicht ganz so selbstverständlich]
* Header: Auswahl der Zeilen, sowie Reihenfolge und Farbe einstellbar
* Index: Einstellbare Farben (Ordnerinhalt) und Pager (Ansicht der Nachrichten)
* Key Binding und Makros (zB nur neue Mails bis zu zwei Wochen anzeigen)
* Anwendung von Kommandos auf die aktuelle Auswahl (tagging + tag-prefix)
[Kommandos]
* Auswahl von Nachrichten im Index ("limit") nach Mustern (regular expressions, regex)
* Weiterleitung ohne all diese Änderungen eines "forward" (bounce)
* Neupositionierung der aktuellen Nachricht (reposition current message)
* Wiederverwendung von existierenden Nachrichten (resend_message)
* Sichtung der "rohen Daten" - ("edit" the raw message) - wie sieht die Nachricht wirklich aus?
* Weitergabe der Nachricht per "pipe" an ein Program/Script, zB urlview
* Wechsel zwischen Kurz-Header und ganzem Header (display-toggle-weed)
* Ausblenden der zitierten Textes (toggle-quoted)
[Kommandos bzgl Antworten]
* Automatische Reparatur von "Subject: Re:/AW:"
* Editieren des Header im Editor - zusätzliche Zeilen, subjectwechsel
* Antworte nur an die Mailingliste (list-reply) (subscribe)
* Unterstützung für Crypto (GPG/PGP) (encrypt, sign) -> workshop, anyone?
[Konfiguration]
* Interne Kommandozeile mit "tab expansion" - ":set opt<TAB>=<TAB>"
* Setupdateien: "source file" -> Aufteilen der Einstellungen in mehrere Dateien
* Hilfe: Eingebaute Hilfe - Suche mit Trefferanzeige - adaptiert Key Bindings
[Optionen]
* editor - Auswahl des Lieblingseditors. "one job - one tool"
* display_filter - Tippfehler korrigieren, Signaturen löschen
* reverse_alias - Auswahl der Anzeige von bekannten Adressen
* reverse_name - "Antworte als der Angeschriebene" -> Rollenaccount
[Protokolle ("Datenaustausch")]
* MIME (Multipurpose Internet Mail Extensions) (RFC1522)
* PGP/MIME (RFC2015)
* IMAPS (Internet Message Access Protocol) - "Zugriff auf Mailboxen auf anderen Rechnern"
* POPS (Post Office Protocol) - "*hole* Mails von anderen Rechnern"
* SMTP (Simple Mail Transfer Protocol) - "*versende* Mails an andere Rechner"
* NNTP (Network News Transfer Protocol) - Usenet Newsgruppen
* SSL + SASL
* Folder Formats: Mailbox, Maildir, MMDF, MH
[Mehr]
* nicht-interaktive Verwendung (crontab, shell, script)
* hooks:
account-hook charset-hook crypt-hook fcc-hook folder-hook iconv-hook
mbox-hook message-hook reply-hook save-hook send2-hook send-hook
[Setup!]
"okay - ich will das ausprobieren? gib mir einen setup!"
geht nicht. menschen sind zu unterschiedlich.
offensichtlich: andere namen und emailadressen.
weniger offensichtlich:
mail eingang: POP
mail verwaltung: IMAP
mail formats: mail folder, maildir (+2 andere)
mail folder: files, dirs, tags?
editor: which editor do you like most? ;)
and now.. each of the features on a separate page:
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #01 Speed! =
mutt is FAST!
$ time mutt -f ~/Mail.IN/VIM
reads ca 57,000 mails including threading
1st run: ca 12secs
2nd run: ca 6secs
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #02 Key Binding =
Key Binding allows to bind any internal command
to any key or key sequence - and also to bind it
a sequence of internal commands (known as a "macro").
example1:
# ",," limits the index to new mails (~N)
# from within the last two weeks (~d<2w) -
# and no duplicates (!~=)
macro index ,, "<limit>~N ~d<2w !~=\n"
example2:
open a folder:
$ mutt -f Mail.IN/VIM
use this macro:
macro index \#N "<limit>~f bram ~s patch ! ~s re: ~d <3w"
pattern:
~f bram matches "bram" in "From:"
~s patch matches "patch" in "Subject:"
! ~s re: matches when there is NO "re:" in "Subject:"
~d <3w matches when the "Date:" is less than three weeks away
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #03 Command Line =
mutt can be used for sending mails on the command line -
and can therefore also be used within scripts, eg from "cron".
initiate an email:
$ mutt guckes
$ mutt guckes@guckes.net
$ mutt 'Sven Guckes <guckes@guckes.net>'
too much typing? create an alias!
muttrc: alias icke Sven Guckes <guckes@guckes.net>
$ mutt icke
sending myself a URL:
$ echo $URL | mutt icke
note: sends right away. no editing.
sending myself the contents of a file - and with a subject line, too:
$ mutt < file.txt | mutt -s "the file" icke
sending myself two files as an attachment:
$ mutt -s "the files" -a file1.txt -a file2.pdf -- icke
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #04 scriptable =
whatever you can do interactively in your shell
you can also do within a shell script.
also works nicely also with crontab.
example: kalenderblatt.sh
cat $FILE | mutt -s "$DATUM Kalenderblatt" $EMAIL1 $EMAIL3
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
= #05 Crypto =
mutt supports PGP/MIME since 1996!
ALT-k mail-key send public key
CTRL-K extract-key extract public keys from message
------ decrypt-copy make decrypted copy
------ decrypt-save make decrypted copy and delete
ALT-P check-traditional-pgp check for classic PGP (INLINE PGP)
mutt automatically verifies digital signatures
when displaying signed messages, and
prompts for passphrase to use seckey
(for decryption and for signing).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQP9AwUBVt+qVOq5fyABhTkbAQLRZh89H1Cf8PqIVXIgTOKNrOn+D0gxIU2jf+8J
v4jZ5o6rLxokmhHmcPAPxp3YB98a1fiVg49+GM7VcbBPxBtkzhs4XGWIkjdXl8XJ
nUCY/Jv3uttnVHDi+4ep20vzKD6o4+HwROlpVPVHef3N6ExCJC87dvdd57QnaTDq
KitqU1vrzESFTdFcr9g8vOTwuHZ2WeVTz0qVMphywOMNtYFnThi1FHXmGbuGJq++
Hb6rvsfK9bVRjzuJjf9SA0owx/bhI+S6a9deS8TdTKSaKGjVL03/GILjeqUSpBbz
H5RIx9ZovCa25IpdnB5yplelQ1huPbQPCyTjc9G1zB3zzq0+NAmP5YSEVtPFj/uF
CUGEnk/bKOEpvHxFCLjYI+kmYPb9gXBYatgF1zb4BfhjyImHGphftZLAgNrijl10
50ecXCauyBJBCUK8sGj6dq6rBHp3nFY0awohxfH/ZBgh9A3UiObVwzsByjcoeJMJ
eaxTdowUX0586gWILeUFYAjW/UdivHo82WE0cZW+lk1r/HrNzQHcvbMrF7y0RZyQ
PvqbNP1YV53rGOReJXjQ/BMJkJoXZLJoI+Q7GhBk3RZVC788LLWUU6F7qvBk14Ec
Sfe4RMVgJNByOLDwmf2dmA53n7hOmbzjVfNaHcDOOnXSL5db18IOefVFTu/xyiOC
LBu4opEBVjp5KB7db7IOSzicy6j3mXJpSQspjGx9h/5/wnM6FFRBEs0N4Gs6A+kr
g9Utoy8mq4m+0OuNmndZbNTK43zRnkS21MFwn/NdROEWqCCsOGdv90fd1oNtWDIT
dQZ3YNKq62HOjikluZYE7qmTYhYiNQBSQpfasrVg9ecEKUGzm09Q+SopKzazbXqt
5xYHnwyiB+UsgrYEnAKrxm32vncCdQstB/6OFDF3wT5ECQ/KHkHwY8pbUY31tkaB
YEuH80c+b1BXnGNt9M+EiocuWBAJX/swhOfY48N1LB7fUv4XYewKNhPyneZON9Sn
6QKBWo0HQEKlbFbgrc4r1A/xs52NQDalbZo2WrJAye93NiQgVU+j91Wuiz1Eb+aG
g0GhPYpS87O5RAVeH5keBCainV/3YPw85/sG4J5bp6QlkVedxdh1ihfbuTCbVRE5
S9q3p0qXUA1RCtK+3oMiblf1BYYmv3bCIuXsWCq8cb1ft+Ztg/6LD6YVRr0wouo/
427Cuy5MdlEF7Eca7H4bBkHFGEc/WrYnB8ga21IrwyX9GxGiVNwVllyW9fyJj8tv
xhGZQrFOsm800tylBZQwYel6ixfSF0JHiBiP0jvrLI8qPVziZdrtbe9wIc+ZpNUN
srAyePBIzKRQeWs4DaN+tw==
=E7Zt
-----END PGP SIGNATURE-----
ps: :'<,'>!gpg -a -b --clearsign
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #06 MailLists =
mutt has *three* reply commands:
reply, reply-all, and reply-to-list
every mailer has two reply commands:
you either reply to the sender - or all addresses.
but they do not have a command which replies
to the mailinglist address only?
there no support for mailing lists? "hellooo?"
mutt has reply-to-list, of course.
simply "subscribe address" to tell it
about the mailing lists addresses:
example:
subscribe sed-users@yahoogroups.com
but this is only necessary for lists
which do not send "List-" header lines.
List-Id:
List-Unsubscribe:
List-Archive:
List-Post:
List-Help:
List-Subscribe:
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #07 Color =
mutt comes without colors by default.
some distributions come with a /etc/Muttc
which defines some colors.
however, colours are additional information.
colour in the folder index:
* messages from yourself
* messages with crypto (signatures, encrypted data)
* replies to your messages
* special words in the subject line
* messages via mailinglist
* possible spam
colour in the header:
* background colours for From:,Subject:,Date:,To:+Cc:
* Message-ID (MID), In-Reply-To (IRT), References:, X-Mailer
* Resent-*, X-Envelope-* ...
colour in the body:
* attachment info, quoted text, signature, tilde
* special characters (umlauts!), and words, eg weekdays
* *emphasized* words
* "citations" and „quotations”
* dashes words (up-to-date)
* # comments and /* comments */
* arrows -> <= and smilies :-) ;)
* date+time (ranges), weekdays, month names
* numbers+units
* abbreviation like TLA
* alternatives this/that
* IP addresses+ranges
* geo coordinates
* names of cities, countries, towns
* names of streets and places
* names of distributions, operating systems, programs, protocols, projects
* emails, URLs, phone numbers, zip codes
* directories, filenames, file permissions,
* long option names, variables, version numbers
* border lines, bulleted and numbered lists, [mini-headers]
* punctuation (mid-line, EOL), trailing whitespace
* fingerprints if keys, keyIDs, md5sums
* markup: markdown, pandoc, HTML tags, LaTeX commands
* IRC channel names and hastags
* footnote references
* IBAN/SEPA numbers
* words with ticks, eg "it's"
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
X-TODO: add the topics from below
= #08 Aliases =
you can create aliases, of course.
either by using the "create-alias" command
in the folder index upon the current message -
or by editing the setup file with an editor.
example:
alias nickname FirstName Lastname <first.last@domain.tld>
alias work My Name <me@work.tld>
anyone who can handle an editor can do this easily.
so it does not take any extra interfaces for this.
TODO
aliases, group aliases, alias lookup
example:
participants of a workshop:
alias part1 Joe Doe <joe.doe@domain>
alias part2 Jane Doe <jane.doe@domain>
alias part3 Tante Emma <emma@laden.de>
alias group part1, part2, part3
see also: https://de.wikipedia.org/wiki/John_Doe
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #09 Message Flags =
the folder index shows some "flags" with messages.
crypto: encrypted, signed, verified, with key attachment
status: new mail (N), old mail (O), replied mail (r)
special: duplicate (=), list (L), flagged (!), to-be-deleted (D)
From -> to whom; i am on Cc or To (but not alone)
"to_chars":
C one of my addresses appears in the Cc: -
but there is at least one more address which is not mine
T one of my addresses appears in the To: -
but there is at least one more address which is not mine
+ all recipient addresses are mine :)
mutt needs to know your addresses.
so define them with "alternates":
alternates *@guckes.net
alternates guckes@project.org
now mutt can filter your addrsses out
when you are replying to "all addresses".
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #10 index_format =
the option 'index_format' controls the
view of messages in the folder index.
it is great to have control over that!
:set index_format="%4C %Z %{%Y-%b-%d} %-23.23F|%4c|%s"
-> "%F" for "From:" and "%A" for "Reply-To:".
:set index_format='%4C %Z %{%b%d} %-16.16F %s'
-> macro index ,ii ':set index_format='%4C %Z %{%b%d} %-16.16F %s'\n
TODO: add macros for switching.
macro index ,i1 ...
macro index ,i2 ...
macro index ,i3 ...
all format options:
$ man muttrc | grep '[a-z_]*_format$'
alias_format
attach_format
compose_format
date_format
folder_format
forward_format
index_format
message_format
mix_entry_format
pager_format
pgp_entry_format
query_format
status_format
ts_icon_format
ts_status_format
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
Message-Id: <20160309194223.GA04711@guckes.net>
= #11 Message-Id =
the Message-Id (MID) can be generated.
set hostname="guckes.net"
-> can be recognized in the header
-> can be colored accordingly
old: color index brightyellow black "~h 'in-reply-to:.*<201[.a-z0-9]*@guckes.net>'"
new: color index brightyellow black "~i '2016.*@guckes.net'"
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #12 alternates =
alternates - which addresses are mine?
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #13 reverse_alias =
reverse_alias -> show your chosen name for an alias in the index
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #14 reply_regexp =
reply_regexp -> repair subject lines to "Re:" on answers
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #15 editor =
set editor=vim -> vim colouring of text
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #16 edit_headers =
"set edit_headers" -> edit the header in your editor
(who wants to *edit* in a web *browser*?)
All commands of a mighty texteditor at your disposal
* Full control of the header:
- Change header lines.
- Add new header lines.
* Reformat cited text.
* Add text from other mails.
* Add a signature.
* Use of abbreviations and macros.
* Macro Recording, Prefix Expansion.
-> another talk on "Message Editing".
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #17 hooks =
hooks
alias, mailboxes+subscribe
folder-hook + save-hook
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #18 bounce =
bounce command -> Resent- header lines -> index colour
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #19 Attach Menu =
overview of message parts
eg text/plan, text/html, DOC, PDF.., GIF/JPEG/PNG
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #20 mailcap =
mailcap -> automatic handling of data, eg rendering of text/html or PDFs
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #21 Header Weeding =
header "weeding"
"ignore" - hides lines you dont needs
"unignore" - show the ones you want to see
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #22 Colouring of Header =
header colouring - important ones with non-black background
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #23 toggle-quoted =
toggle quoted lines - see only new text
> this line starts with an angle..
> this means it is a cited line..
> this is another cited line..
> this is getting boring fast..
> i reall wish i didnt not have
> to read all those lines again.
> if there were only a command
> which would hide it all.. hmm..
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #24 display_filter =
display_filter - change typos, delete signatures and footers
bloody tpyos
--
this is a signature.
------------------------
mail footer. blah blah..
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #25 threading =
threading! what discussion can live without it?
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #26 limit =
limit: show only part of the index according to a pattern
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #27 Folder Formats =
folder formats - mailbox+maildir. (and another two)
mailbox: a folder is one long file.
$ mutt -f file
maildir: a folder is a directory -
with subdirs "cur", "new", and "tmp".
$ mutt -f dir/
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #28 Message Editing =
command "edit"
message editing - repairing text/plain to text/html (sigh)
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #29 Patches =
patches: newsreading (NNTP), sidebar etc
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #30 Help =
help -> key bindings for current menu
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #31 Tags =
tag + tag-prefix -> apply command to all tagged mails
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #32 Reposition =
three commands to reposition the current message in index view:
current-middle current-bottom current-top
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #33 Command Line =
command line with tab expansion on commands, option names, and values
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #34 Shell Escape =
shell escape - whee! :)
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #35 Broken Threads =
thread graft+prune ->
# break-thread break the thread in two
& link-threads link tagged message to the current one
people who breaks threads by using bad mailers... grrr!
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #36 reverse_name =
reverse_name - role accounts!
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #37 Config Files =
config files -> source command to split setup into files
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #38 Pipe =
pipe mails to programs/scripts -> urlview!
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #39 braille_friendly =
...
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #40 Deleting Duplicates =
...
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #41 Message-ID =
...
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #42 alternates =
...
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= #42 hooks =
account-hook [!]regexp command
charset-hook alias charset
crypt-hook regexp key-id
fcc-hook [!]pattern filename
folder-hook [!]regexp command
iconv-hook charset local-charset
mbox-hook [!]regexp mailbox
message-hook [!]pattern command
reply-hook [!]pattern command
save-hook [!]pattern filename
send-hook [!]pattern command
send2-hook [!]pattern command
============================================================
============================================================
END of TODO
============================================================
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Feedback =
thank you for listening.
i'd love to see some feedback.
please send it to my at either
2016-03-09-belug.de@guckes.net
or clt2016@guckes.net
upcoming CLT -> join the CLT mailing list:
http://mlists.in-berlin.de/mailman/listinfo/clt-discuss-mlists.in-berlin.de
Key Signing? personally.. fingerprints..
enjoy CLT2016! :-)
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Author =
Sven Guckes
@guckes twitter
www.guckes.net homepage
clt2016@guckes.net
2016-03-09-belug.de@guckes.net
8000R/0185391B new public key
1024R/57F77F09 old public key
52.52, 13.37 geolocation
http://tinyurl.com/8000R-0185391B
8000R/0185391B 2014-03-11
32CE 5648 6E6D 6D6D 33E5
3A38 EAB9 7F20 0185 391B
keysigningparty@guckes.net
= Statements =
"encrypt all data. because - why not?!"
"first encrypt - then send"
(erst verschlüsseln, dann versenden)
"we need transparent governments..
not transparent citizens."
"a government which has nothing to hide
need not be afraid of Wikileaks."
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= MOAR =
some more things which you might see anyway
or which take too long to explain.
stuff for workshops.
* mailboxes overview
* IMAPS, POPS
* SMTP
* postpone+recall of messages
* message editing
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= NOT! =
some things which you will *not* find in mutt
and where another tool can help you.
* NO GUI!
no buttons or icons to click on,
no scrollbars to slide up+down, left+right
[however, the User Interface does have dialogs,
menus, configurable colours, and key binding]
* NO viewing of attached pictures (-> ~/.mailcap: "image/*; cacaview %s")
* NO built-in editor - feature! (-> "set editor=nano")
* NO integrated address book (-> "set query_command="abook --mutt-query '%s'")
* NO name lookup from all messages (as with google gmail)
* NO internal calendar -> other tools (Termine)
* NO address book tool -> other tools (Contacts)
* NO internal textpads
* NO kitchen sink
* NO internal scripting language (gee, that's missing)
* IMAP support sucks a bit. yep.
you need an IMAP server like offlineimap
to connect to for reading local mails.
note: mutt is a user agent (UA), not a delivery agent,
or a mail filter (eg procmail), or a mail server.
although it does support getting mails with POP -
fetchmail does a much better job.
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Installation =
you might need all these packages:
== Debian ==
fetchmail fetches mail using POP
procmail processes incoming email (split into folders)
mutt the email client itself (woof!)
mutt-patched mutt with three major patches:
* sidebar: list mailboxes (with new mail) in a separate column on screen
* nntp: NNTP support for mutt
* multiple-fcc: handle FCC with multiple, comma separated entries
== Source ==
ftp://ftp.mutt.org/pub/mutt/
ncftp /pub/mutt > ls -l mutt-1.5.24*
-rw-r--r-- 1 4063 4063 3897115 Aug 31 15:39 mutt-1.5.24.tar.gz
-rw-r--r-- 1 4063 4063 801 Aug 31 15:39 mutt-1.5.24.tar.gz.asc
getting the latest through HTTP with wget:
TODO
getting the latest through FTP with ncftpget:
ncftpget ftp://ftp.mutt.org/pub/mutt/mutt-1.5.24.tar.gz
ncftpget ftp://ftp.mutt.org/pub/mutt/mutt-1.5.24.tar.gz.asc
checking the digital signature:
TODO gpg ..
unpacking the archive:
$ tar xzf mutt*gz
change into the created subdirectory:
$ cd mutt-1.5.24
configuring mutt with long options for $HOME:
$ _compile_mutt () {
./configure --prefix=$HOME --disable-nls --enable-hcache
--enable-locales-fix --enable-imap --enable-pop
--without-idn --with-gnutls --with-gss --with-sasl
--with-included-gettext --without-wc-funcs
}
make it!
$ time make
install the created files in the file system:
$ time make install
checking for the binary in the shell's $PATH:
$ which mutt
/home/user/guckes/bin/mutt
look at all the files which had been created:
$ cd ~/bin
$ ls -rtl
30753 Jan 14 17:01 smime_keys
153972 Jan 14 17:01 pgpring
12275 Jan 14 17:01 pgpewrap
26 Jan 14 17:01 muttbug
3482845 Jan 14 17:01 mutt-1.5.24.stripped
7694 Jan 14 17:01 flea
20 Jan 14 17:03 mutt -> mutt-1.5.24.stripped
let the mutt binary tell us what it was installed with:
$ mutt -v
Mutt 1.5.24 (2015-08-30)
Copyright (C) 1996-2009 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.
System: Linux 3.2.0-4-amd64 (x86_64)
ncurses: ncurses 5.9.20110404 (compiled with 5.9)
hcache backend: GDBM version 1.8.3. 10/15/2002 (built Jun 10 2012 09:50:33)
Compiler:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5)
Configure options: '--prefix=/home/user/guckes' '--disable-nls' '--enable-hcache' '--enable-locales-fix' '--enable-imap' '--enable-pop' '--without-idn' '--with-gnutls' '--with-gss' '--with-sasl' '--with-included-gettext' '--without-wc-funcs'
Compilation CFLAGS: -Wall -pedantic -Wno-long-long -g -O2
Compile options:
-DOMAIN
-DEBUG
-HOMESPOOL -USE_SETGID +USE_DOTLOCK -DL_STANDALONE +USE_FCNTL -USE_FLOCK
+USE_POP +USE_IMAP -USE_SMTP
-USE_SSL_OPENSSL +USE_SSL_GNUTLS +USE_SASL +USE_GSS +HAVE_GETADDRINFO
+HAVE_REGCOMP -USE_GNU_REGEX
+HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET
+HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM
+CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME -CRYPT_BACKEND_GPGME
-EXACT_ADDRESS -SUN_ATTACHMENT
-ENABLE_NLS +LOCALES_HACK -HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR
+HAVE_ICONV -ICONV_NONTRANS -HAVE_LIBIDN +HAVE_GETSID +USE_HCACHE
-ISPELL
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/home/user/guckes/share/mutt"
SYSCONFDIR="/home/user/guckes/etc"
EXECSHELL="/bin/sh"
-MIXMASTER
To contact the developers, please mail to <mutt-dev@mutt.org>.
To report a bug, please visit http://bugs.mutt.org/.
ta-dah! :-)
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Problems =
bad mailers create problems:
* citation with comb-quoting:
text is first cited, then long lines are broken -
creating comb-quoted text.
* citation of only the first level:
context might be hidden in the previous level
* forwarding:
this changed the sender, the subject line,
the body (citation), it breaks encoding,
and it might lose some or all attachments
* hiding of quoted text:
the user doesnt see how much he is actually citing.
message become longer - and the archive as well.
* signature appended after sending:
user might not see what he is sending at the end.
the reasons for a lot of silly pranks.
* insertion point is above cited text:
user replies about the citation .
so you have to read texts in reverse.
* no reference to previous message:
this breaks all discussion threads. :-(
* addresses: some mailers allow choice of address
by the recipient's name - and then only show the names.
this may be convenient on long lists of recipients,
but then you cannot see and check the actual addresses.
many of us now have more than one address,
(official-private, private-private,
work, project, for-newsletters-only etc)
so a check is often necessary.
* header display:
mailers show only the minimum of lines, ie
From:, Subject:, Date:, as well as To: and Cc:.
but Reply-To is often important as well,
because it might point at another address
which might be an alias for several
addresses such as a mailing list.
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= User Errors =
* full citation:
users cites everything - never deletes anything.
this amasses a lot of needless data.
some "message editing" is required!
TOFU = "text oben (above), full-quote unten (below)"
it's probably better to delete the full citation.
* always reply-to-all.
not always a useful thing to do.
for list messages then answer goes not only
to the list, but all additional addresses, too.
for those who are on the list they will get it twice.
for those who are NOT on the list, they may
not be sure whether someone has added them.
* thread hijacking:
initiate new topic/thread by replying to any previous mail.
this adds a reference where no reference should be.
https://de.wikipedia.org/wiki/Thread-Hijacking
https://www.urbandictionary.com/define.php?term=Thread+Hijacking
https://workplace.stackexchange.com/questions/6205/is-there-a-proper-or-polite-way-to-tell-people-to-not-hijack-threads
* No reference:
replying with a client which does not give reference.
the users might not be aware of this, but once they know it,
they are making a choice every time - and a bad one, too.
because every recipient will receive a problem with it.
* text/html by default:
if you are not using a rich text editor for
bold/italics, extra fonts, and some color,
then please just turn it off. most people
only see the text/plain part, anyway.
* signatures:
separate them with a signature dashes line (dash-das-space).
keep it to four lines, and make it only one block/paragraph.
howto:
minimum: name+email. (yes, the address from your header.)
gpg: the id of your pubkey with bits, too! "NNNN./1234ABCD"
homepage: www.yourdomain.tld - is it really long? shorten it!
a quote. a statement. something which might say often enough.
fon - if you expect people to call you up. "tel:number"
fax - really? the second millennium is DEAD!
* legal dislaimers:
the requirement for legal disclaimers for each and every email
was probably designed in legal hell. while business people
think they will be sued if it were missing, it is
NOT required in usual emails. so - dont do it.
* attachments:
avoid attachments. instead, include a link to files online.
there are many servers which take your file and give you a nice,
short url for it. and delete it automatically after N days, too.
-> Jon Postel in RFC791 (1981-09):
"In general, an implementation must be conservative in its
sending behavior, and liberal in its receiving behavior."
=> "Be conservative in what you send and liberal in what you accept"
("conservative" -> vorsichtig, zurückhaltend)
("liberal" -> großzügig,offen, tolerant)
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Netiquette HowTo =
HOW-TO:
be brief.
summarize.
instruct.
be brief: delete unnecessary stuff.
keep only the bit which is needed for context.
avoid mail footers, signatures, legal disclaimers, and attachments.
instruct: tell the reader what you expect him to do.
summarize: what is the most relevant information?
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Patches =
some info about available patches (aka addons):
(this will be a LOT of work. o_O)
http://www.lunar-linux.org/mutt-sidebar/
debian package maintained by Antonio Radici <antonio@dyne.org>:
* sidebar: list mailboxes (with new mail) in a separate column on screen
* nntp: NNTP support for mutt
* multiple-fcc: handle FCC with multiple, comma separated entries
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
"the other editor"[tm] comes with two goodies:
* mutt-alias - looks up mutt aliases
* muttrc-mode - main mode for managing mutt setup files
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Credits =
* Rhonda D'Vine <rhonda@deb.at>
for proof-reading and suggestions -
and adding some colour to your signature via a headerline:
http://rhonda.deb.at/config/mutt/sigcolor.hooks
shall i add you? send some feedback via email!
(bonus points for sending mail with mutt!)
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Q&A =
Q: How to make mutt read from ~/mail (small-m) instead of ~/Mail (big-M)?
A1: Create a symlink with "ln -s ~/mail ~/Mail".
A2: Change $MAIL to your inbox, eg "MAIL=$HOME/mail/inbox".
Q: How to remove duplicates from a folder?
A: tag all duplicates for deletion - and update (sync) the folder.
with standard key bindings: D ~= RET $
with internal function names: delete-pattern ~= RET sync-mailbox
Q: Some processes send email to the "root" user.
How can I see those emails as myself?
A: Let mails to "root" be forwarded to you user account.
Create the file /root/.forward and add your user name:
# echo $USER > /root/.forward
maybe you want both "root" and yourself to receive a copy
then add both "root" and your username to that file:
# echo root,$USER > /root/.forward
note that the shell prompt '#' indicates
that you must do this as user "root".
Q: My main mailbox is big and my computer is slow -
and i hate waiting for mutt to open my main mailbox.
but I want to get at the mailbox overview faster.. how?
A: mutt will start with the mailbox overview directly with option "-y":
$ mutt -y
Q: How to configure retrieval of mails via POP?
A1: host+user+pass in mutt .. TODO
A2: host+user+pass with fetchmail.. TODO
Q: How to sort your email?
A1: all in one mailbox.
A2: all new mails in incoming mailbox -
all read mails in another mailbox.
A3: save by project or by user..
Q: Should I keep my mails online and access only via IMAP?
Or should I download all mails?
A: As with all data - the questions are:
Who keeps your backup? Who do you trust?
You might want to keep a local backup yourself.
You might want a nice backup service, too.
Q: Where to save emails from people and projects?
A: Mails from people -> firstname.lastname
Mails of projects -> PROJECTNAME
Q: Once I mark mails for deletion my cursor jumps over them. How to access them again?
A1: enter the number of the message to jump onto.
A2: use the other movement commands - J and K to jump onto the next/previous message.
workshop:
Q: How to forward attachments with online disposition?
A: ... workshop?! TODO
Q: How to print messages? Are there any tools?
A: yes.. lots!
Q: How to print messages and forward them to another host?
A: use print-message with a script including per ssh .. workshop? TODO
Q: How to remeove the to-be-deleted flag (D) from messages?
A: single use: select message, type 'u' ("undelete-message").
many messages: tag them and remove the flag:
use 'T' (tag-pattern) and the pattern "~D" (to-be-deleted) to tag them all.
now use ';' ("tag-prefix") to apply the next command to them all:
type 'u' ("undelete-message") which now removes that flag from all tagged messages.
Q: Is there a way to apply a command to attachments before reading them?
A: Yes - you can define which command to aplly to an attachment
via the ~/.mailcap file. eg apply pdftotext to PDFs, antiword to DOCs.
sample files:
http://www.guckes.net/Setup/mailcap 4.5KB
http://www.guckes.net/Setup/mailcap.minimal 799bytes
Q: Can you copy+paste text from messages when viewing them?
A: Use an editor as the pager, eg:
"set pager=view" (which is linked to "vim")
but then all the colouring has to be defined with vim, of course.
Q: What does "flag" mean? Which "flags" are there?
A: Here you are:
flag pat meaning
D ~D to-be-Deleted
! ~F flagged (!)
s ~g si(g)ned
P ~G encrypted (PGP/GPG)
K ~k contains key
r ~Q replied
Q: How to set up my address for a mailing list?
A: Create an alias for the list address so you can easily send a new mail to it.
Make the list address known via "subscribe listaddress", so you can use list-reply for answering.
Tell mutt where to find that "mailboxes", so it will show it on the mailboxes menu.
Maybe add a save-hook to save a message to the folder if it appear elsewhere,
Add a folder-hook to automatically adjust the index_format and your sender address.
TODO add an example
Q: How to exchange address with other email programs?
A: caldav.. PYcarddav.. TODO!
Q: Are there any shell aliases which might help around mutt?
A: Here are some of mine:
function talkmutt () { cd ~/.P/talks/mutt/; mutt -n -F advantages.muttrc -f advantages.txt }
alias muttem='mutt -n -f /dev/null -F /dev/null'
function mf - open a mail folder in $PWD, ~/Mail, ~/Mail.IN
function m - open a mailbox (in ~/Mail.IN)
function mal - grep the mutt aliases files
function m { mutt -f ~/Mail.IN/$1 }
function mal { grep -h -i $1 ~/.mutt/aliases* ~/.mutt/NEW ~/.mutt/maillists | less +/$1 }
function mf {
if [[ -f ./$1 ]] then; mutt -f $1 ; fi
if [[ -f ~/Mail/$1 ]] then; mutt -f ~/Mail/$1 ; fi
if [[ -f ~/Mail.IN/$1 ]] then; mutt -f ~/Mail.IN/$1 ; fi
echo $1
}
Q: How to change between different setups of header selections?
A: Use a macro to ":source setupfile", which includes the commands for selection (ignore+unignore), their order (unhdr_order+hdr_order), and their colour (color header fg bg pattern).
Example: TODO
Q: There are ten ways of sorting with 'o' - what do the all mean?
Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am?:
A: TODO
Q: Can you customize what to show in the "help" line?
A: No.
Q: Can you have more than one line in the pager to show From+Date+Subject?
A: No.
Q: How do you colorize text using patterns?
A: WORKSHOOOOOOP!
Q: How do you use the display_filter to correct typos and delete signatures?
A: WORKSHOOOOOOP!
Q: How to create a "key" and use it for encryption email and signature?
A: WORKSHOP!
Q: How to use "profiles" with different names and email adresses?
A: complex. workshop!
A1: create a shell alias to start mutt with different setup files.
A2: create a key binding to "source setupfile".
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
ad of 2016-03-09 these Debian packages mention "mutt":
2vcard abook
aptitude aptitude-common aptitude-dbg aptitude-doc-cs
aptitude-doc-en aptitude-doc-es aptitude-doc-fi aptitude-doc-fr
aptitude-doc-it aptitude-doc-ja aptitude-doc-ru
biabam bmf buffy buffycli devscripts dictionaries-common
emacs-goodies-el feed2imap fetchmail imapfilter lbdb libuniconf4.6
msmtp msmtp-gnome msmtp-mta mutt mutt-dbg mutt-patched muttprint
muttprint-manual muttprofile netrik newsbeuter nmzmail notmuch-mutt
orpie post-el pycarddav reportbug sendmail sendmail-bin t-prot urlview
selection of internal and external tools:
2vcard - converts address books to vcard
abook - address book
biabam - sending attachments
bmf - bayes mail filter
buffy - mail folder browser
buffycli - displays a compact summary of mail folders
feed2imap - RSS/Atom feed aggregator, uploads to IMAP folder
fetchmail - fetches+sends mail from/to mail servers (APOP, IMAP, POP, SSL)
imapfilter - sorts mails in imap folders
lbdb - little brother database - gathers email addresses from many sources
msmtp - light-weight mail sender (SMTP) (TSL/SSL, GSASL)
msmtp-gnome - like msmtp plus GNOME keyring support
msmtp-mta - msmtp with "server profiles"
mutt - it's mutt! :-)
mutt-dbg - debugging symbols for mutt and mutt-patched
mutt-patched - three patches: sidebar, nntp, multiple-fcc
muttprint - nicely formats messages
muttprint-manual - the manual to muttprint
muttprofile - switches between profiles
nmzmail - searches through mail folders and creates index by symlinks
notmuch-mutt - connects mutt with notmuch
pycarddav - syncs between CardDAC resources and pc_query (mutt: query_command)
t-prot - alternate pager for messages - with "TOFU protection"
urlview - extracts URLs from text, creates a menu, sends it on to browser
emacs with support for mutt data:
emacs-goodies-el - emacs extensions mutt-alias + muttrc-mode
post-el - emacs extension for posting with mutt+slrn
mentions mutt as an example:
netrik - text browser with key bindins a la mutt+vi
newsbeuter - RSS feed reader with many features from mutt+slrn
orpie - RPN calculator with mutt-like config file
reportbug - send a bug report to Debian using mutt and other mailers
sendmail - *the* MTA (besides exim,postfix,qmail)
sendmail-bin - sends mails (SMTP) - mailers use it.
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
$EDITOR emacs+vim (WARNING: holy war!) ;-)
try these: jed joe nano pico
too small: ed ex vi
bvi+sed are for other purposes
POP fetchmail
Filter procmail
Adresses addressbook (abook), bbdb+lbdb,
LDAP (query_command); $EDITOR!
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Versions =
recent mutt versions [as of 2015-07-11]:
2006-08-14 mutt-1.5.13.tar.gz
2007-02-23 mutt-1.5.14.tar.gz
2007-04-06 mutt-1.5.15.tar.gz
2007-06-10 mutt-1.5.16.tar.gz
2007-11-01 mutt-1.5.17.tar.gz
2008-05-17 mutt-1.5.18.tar.gz
2009-01-06 mutt-1.5.19.tar.gz
2009-06-14 mutt-1.5.20.tar.gz
2010-09-15 mutt-1.5.21.tar.gz
2013-10-18 mutt-1.5.22.tar.gz
2014-03-12 mutt-1.5.23.tar.gz
2015-08-31 mutt-1.5.24.tar.gz
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Community =
Mailinglists and Newsgroups
Listen: mutt-dev (development) + mutt-user (users)
auch per newsreader zu lesen über gmane.org
als news:gmane.mail.mutt.devel
und news:gmane.mail.mutt.user.
News/Usenet: news:comp.mail.mutt
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= LINKS =
http://www.mutt.org/ HomePage
http://www.guckes.net/Mutt/ -> Mutt pages
http://www.guckes.net/Setup/ -> mutt setup files
http://www.guckes.net/talks/mutt/advantages.txt
http://www.guckes.net/talks/mutt/advantages.html (in colour)
http://www.guckes.net/chemnitz2016/mutt.txt
http://www.guckes.net/chemnitz2016/mutt.html (in colour)
my mutt talk in german of 2005:
2005-12-20: http://www.guckes.net/workshop/mutt/mutt.vortrag.2005-12-20.txt
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= RFCs =
RFCs 1847+2015+3156:
year-mm RFCNNNN
---------------
1995-10 RFC1847
1996-10 RFC2015
2001-08 RFC3156
https://tools.ietf.org/html/rfc1847
https://tools.ietf.org/html/rfc2015
https://tools.ietf.org/html/rfc3156
http://www.rfc-base.org/rfc-3156.html
http://www.rfc-base.org/txt/rfc-3156.txt
https://de.wikipedia.org/wiki/PGP/MIME
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Mailers =
some othre mailers to looka t:
Other Mail-User-Agents (MUAs):
http://supmua.org/
based in Ruby; fast; handles lots of emails;
supports encryption (gpg), multiple accounts.
AlPine, Gnus, MH, and sup:
AlPine $URL TODO
Gnus $URL TODO
MH $URL TODO
sup $URL TODO
TODO: create folder with examples
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
= Quotes =
a few quotes:
2012-07-16 Luke Maciak http://tein.co/12372
http://www.terminally-incoherent.com/blog/2012/07/16/email-sucks-why-are-there-no-modern-command-line-clients/
"Email Sucks: Why are there no Modern Command Line Clients?"
"Sad part is that these days your choice is usually
between Mutt, Pine and Go Fuck Yourself."
https://twitter.com/kayiwa/status/661732784445202432
:wq! fxk @kayiwa
MUA history: mail -> elm -> mutt/PINE -> Eudora *oi* -> mutt ->
Thunderbird *big oi* -> mutt -> gmail -> Thunderbird *less oi* -> mutt
From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
Sven Guckes <2016-03-09-belug.de@guckes.net>
you <publikum@chemnitzer.linux-tage.de>
From clt2016@guckes.net Sat Mar 18 16:00:00 2016
Sven Guckes <clt2016@guckes.net>
this is the last "message" in this file.
the last line serves as a "modeline" for vim.
when editing this file with vim, it checks
that last line of the file which contains
some commands which are useful for editing.
"vim:" tells vim that there is a "modeline".
it contains commands to execute at loading
the file into an edit buffer.
"et" is short for "expandtab", so all entered
TABs will be expanded with spaces. because:
"a space is a space is a space is a space." :-)
"ft=sven" - the filetype is "sven", ie vim loads the file
$HOME/.vim/syntax/sven.vim for the syntax and colouring.
"tw=999" - the "textwidth" is set to "999"
which allow editing for quite long lines.
"nowrap" will break off long lines at the
end of the terminal. i like it that way.
vim: set et ft=sven tw=999 nowrap: THPXRF EOF