Bearbeiten von „KunterBuntesSeminar-WS11/Lightning Talks/MUA

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 1: Zeile 1:
{{:KunterBuntesSeminar-WS11/Terminseiten-Header|7|01. Dezember 2011|zeit='''19:45''' bis 19:50|raum=C-221}}
{{:KunterBuntesSeminar-WS11/Terminseiten-Header|7|01. Dezember 2011|zeit='''19:45''' bis 19:50|raum=D-220}}




Dieser Lightning Talk wurde in der [[KunterBuntesSeminar-WS11/Lightning Talks|ersten Lightning Talk Session]] des KunterBuntenSeminars im Wintersemester 2011 gehalten.
Dieser Lightning Talk wurde in der [[KunterBuntesSeminar-WS11/Lightning_Talks|ersten Lightning Talk Session]] des KunterBuntenSeminars im Wintersemester 2011 gehalten.


== Using a MUA on your local linux system ==
== Using a MUA on your local linux system ==
Zeile 8: Zeile 8:
=== Motivation ===
=== Motivation ===


Die Motivation die zu diesem Vortrag führte war die Verwendung des
Die Motivation die zu diesem Vortrag fuehrte war die Verwendung des
MUA alot und seines Ökosystems. Es sollte gezeigt werden, wie so ein
MUA alot und seines Oekosystems. Es sollte gezeigt werden, wie so ein
Aufbau auf Linuxsystemen funktioniert, wie man ein solches System
Aufbau auf Linuxsystemen funktioniert, wie man ein solches System
konfiguriert und den ganzen Vorgang etwas entmystifizieren.
konfiguriert und den ganzen Vorgang etwas entmystifizieren.


=== Ökosystem E-Mail ===
=== Oekosystem E-Mail ===


Das System besteht aus mehreren Komponenten die miteinander arbeiten. Jeder Teil hat eine spezielle Aufgabe.
Das System besteht aus mehreren Komponenten die miteinander arbeiten. Jeder Teil hat eine spezielle Aufgabe.


* '''MRA/MDA''': Der Mail Retrieval Agent holt E-Mails vom Mailserver ab. Der Mail Delivery Agent speichert diese auf dem Client.
* '''MRA/MDA''': Der Mail Retrieval Agent holt E-Mails vom Mailserver ab. Der Mail Delivery Agent speichert diese auf dem Client.
* '''Indexer''': indiziert die E-Mails in den E-Mail-Verzeichnissen und ermöglicht die schnelle Suche nach Inhalten der E-Mails.
* '''Indexer''': indiziert die E-Mails in den E-Mail-Verzeichnissen und ermoeglicht die schnelle Suche nach Inhalten der E-Mails.
* '''Addressbook''': stellt E-Mail-Adressen von Kontakten zur Verfügung.
* '''Tagger''': kennzeichnet E-Mails mit Schluesselworten und erstellt somit eine weitere Sicht auf die E-Mails.
* '''Tagger''': kennzeichnet E-Mails mit Schlüsselworten und erstellt somit eine weitere Sicht auf die E-Mails.
* '''MUA''': Der Mail User Agent ist der eigentliche E-Mail-Client mit dem man E-Mails erstellt und liest.
* '''MUA''': Der Mail User Agent ist der eigentliche E-Mail-Client mit dem man E-Mails erstellt und liest.
* '''MTA''': Der Mail Transfer Agent versendet E-Mails.
* '''MTA''': Der Mail Transfer Agent versendet E-Mails.
Zeile 26: Zeile 25:
=== vorgestellter Aufbau ===
=== vorgestellter Aufbau ===


Die vorgestellte Konfiguration verwendet folgende Programme für die
Die vorgestellte Konfiguration verwendet folgende Programme fuer die
oben genannten Komponenten:
oben genannten Komponenten:


* '''MRA/MDA''': offlineimap
* '''MRA/MDA''': offlineimap
* '''Indexer''': notmuch
* '''Indexer''': notmuch
* '''Addressbook''': notmuch
* '''Addressbook''': nottoomuch-addresses
* '''Tagger''': afew
* '''Tagger''': afew
* '''MUA''': alot
* '''MUA''': alot
Zeile 41: Zeile 40:


Die Programme sind alle Freie Software und bei den entsprechenden
Die Programme sind alle Freie Software und bei den entsprechenden
[[KunterBuntesSeminar-WS11/Lightning Talks/MUA#Weblinks|Weblinks]]
[[KunterBuntesSeminar-WS11/Lightning_Talks/MUA#Weblinks | Weblinks]]
herunterladbar. Anschließend sollte die Software installiert
herunterladbar. Anschliessend sollte die Software installiert
werden. Diese Konfiguration ist nur eine mögliche
werden. Diese Konfiguration ist nur eine moegliche
Konfiguration. Einfach abtippen ohne nachzudenken ist nicht ratsam.
Konfiguration. Einfach abtippen ohne nachzudenken ist nicht ratsam.


Zeile 49: Zeile 48:


Offlineimap nutzen wir um die E-Mails, die wir vom Mailserver
Offlineimap nutzen wir um die E-Mails, die wir vom Mailserver
herunterladen lokal in Maildirs zu speichern. Offlineimap ermöglicht
herunterladen lokal in Maildirs zu speichern. Offlineimap ermoeglicht
E-Mails auch ohne Netzwerkverbindung zu versenden, löschen oder
E-Mails auch ohne Netzwerkverbindung zu versenden, loeschen oder
kennzeichnen. Offlineimap führt die Änderungen auf dem lokalen
kennzeichnen. Offlineimap fuehrt die Aenderungen auf dem lokalen
E-Mailverzeichnissen aus. Sobald wieder eine Netzwerkverbindung
E-Mailverzeichnissen aus. Sobald wieder eine Netzwerkverbindung
vorhanden ist werden die Änderungen von offlineimap an die jeweiligen
vorhanden ist werden die Aenderungen von offlineimap an die jeweiligen
Mailserver propagiert.
Mailserver propagiert.


Zunächst richten wir uns ein Verzeichnis für unsere E-Mails ein:
Zunaechst richten wir uns ein Verzeichnis fuer unsere E-Mails ein:


  mkdir -p ~/maildirs/beispiel1
  mkdir -p ~/maildirs/beispiel1
Zeile 74: Zeile 73:
remoterepository = beispielimap1 # Sektion s.u.
remoterepository = beispielimap1 # Sektion s.u.
autorefresh = 2.5 # wie oft synchronisiert werden soll in Minuten
autorefresh = 2.5 # wie oft synchronisiert werden soll in Minuten
# folgende Zeile kann auskommentiert werden und afew einfach wie folgt gestartet werden: afew --watch --new
postsynchook = ionice -c 3 chrt --idle 0 /bin/sh -c "notmuch new && python ~/.local/bin/afew -vv --tag --new" # was nach dem Synchronisieren passieren soll
postsynchook = ionice -c 3 chrt --idle 0 /bin/sh -c "notmuch new && python ~/.local/bin/afew -vv --tag --new" # was nach dem Synchronisieren passieren soll


[Repository beispieldir1]
[Repository beispieldir1]
# hier stehen die Infos wie die E-Mails gespeichert werden
# hier stehen die Infos wie die E-Mails gespeichert werden
type = Maildir # Typ könnte auch mbox sein
type = Maildir # Typ koennte auch mbox sein
localfolders = /home/user/maildirs/beispiel1/ # wo das Maildir liegt
localfolders = /home/user/maildirs/beispiel1/ # wo das Maildir liegt


Zeile 88: Zeile 86:
remoteuser = username
remoteuser = username
remotepass = passwort
remotepass = passwort
ssl = yes # Verschlüsselung sollte der Mailserver sprechen
ssl = yes # Verschluesselung sollte der Mailserver sprechen
holdconnectionopen = yes  
holdconnectionopen = yes  
idlefolders = ['INBOX']
idlefolders = ['INBOX']
</pre>
</pre>


Weitere Accounts können in der gleichen Datei darunter angegeben
Weitere Accounts koennen in der gleichen Datei darunter angegeben
werden. Offlineimap erlaubt es, dass man mit Hilfe eines Hooks die
werden. Offlineimap erlaubt es, dass man mit Hilfe eines Hooks die
Passwörter nicht im Klartext in der Konfigurationsdatei hinterlegen
Passwoerter nicht im Klartext in der Konfigurationsdatei hinterlegen
muss. Bei Interesse online in der Dokumentation nachlesen.
muss. Bei Interesse online in der Dokumentation nachlesen.


Offlineimap starten wir wie folgt (man offlineimap liefert weitere Ausgabeformate):
Offlineimap starten wir wie folgt:


  offlineimap -u BlinkenLights
  offlineimap -u -Noninteractive.Basic


==== notmuch ====
==== notmuch ====


Notmuch ist unser E-Mail-Indexer. Die Konfiguration ist sehr
Notmuch ist unser E-Mail-Indexer. Die Konfiguration ist sehr
einfach. Dazu führen wir folgenden Befehl aus:
einfach. Dazu fuehren wir folgenden Befehl aus:


  notmuch setup
  notmuch setup


Dann füttern wir notmuch mit den wichtigen Informationen:
Dann fuettern wir notmuch mit den wichtigen Informationen:


  Your full name: user
  Your full name: user
Zeile 124: Zeile 122:
  synchronize_flags=true
  synchronize_flags=true


Nun führen wir folgendes Kommando zum Initialisieren der Datenbank aus:
Nun fuehren wir folgendes Kommando zum Initialisieren der Datenbank aus:


  notmuch new
  notmuch new
Zeile 130: Zeile 128:
Das war es dann auch schon.
Das war es dann auch schon.


==== notmuch address ====
==== nottoomuch-addresses ====


notmuch hat seit Version 0.19 eine Adresssuche integriert, die wir als
nottoomuch-addresses.sh ist ein Shellscript, dass aus der
Vervollständigungsfunktion für Adressen verwenden können. Die
notmuch-Datenbank alle E-Mail-Adressen extrahiert
Einrichtung folgt in der Konfiguration von alot.
(nottoomuch-addresses.sh --update) und in
 
'''~/.config/nottoomuch/addresses''' im abook-Format speichert. So
Man tippt dazu drei aufeinanderfolgende Buchstaben eines Namens oder
kann alot E-Mail-Adressen vervollstaendigen. Man tippt dazu drei
einer E-Mail-Adresse und erhält mit der Tabulatortaste mögliche
aufeinanderfolgende Buchstaben eines Namens oder einer E-Mail-Adresse
Vervollständigungen.
und erhaelt mit der Tabulatortaste moegliche Vervollstaendigungen.


==== afew ====
==== afew ====


Afew ist ein Werkzeug um E-Mails zu taggen. Genau dafür verwenden wir
Afew ist ein Werkzeug um E-Mails zu taggen. Genau dafuer verwenden wir
es auch.
es auch.


Die Konfiguration ist in der README des Programms ausführlich
Die Konfiguration ist in der README des Programms ausfuehrlich
beschrieben. Afew wird in '''~/.config/afew/config''' konfiguriert.
beschrieben. Afew wird in '''~/.config/afew/config''' konfiguriert.


==== alot ====
==== alot ====


Alot ist ein GUI für notmuch. Wir verwenden alot als Mail User
Alot ist ein GUI fuer notmuch. Wir verwenden alot als Mail User
Agent. Ganz im Sinne von notmuch archivieren wir E-Mails, damit unsere
Agent. Ganz im Sinne von notmuch archivieren wir E-Mails, damit unsere
Inbox leer ist. E-Mail-Threads die uns stören killen wir und
Inbox leer ist. E-Mail-Threads die uns stoeren killen wir und
schreiben E-Mails mit unserem Lieblings-Texteditor.
schreiben E-Mails mit unserem Lieblings-Texteditor.


Alot wird in '''~/.config/alot/config''' eingerichtet. Sie ähnelt
Alot wird in '''~/.config/alot/config''' eingerichtet. Sie aehnelt sehr der
sehr der offlineimap Konfigurationsdatei. Die aktuelle Dokumentation
offlineimap Konfigurationsdatei:
zur Konfiguration findet sich bei
[http://readthedocs.org/docs/alot/en/latest/configuration/index.html Read The Docs]


  # gute Terminals können 256 Farben darstellen
[general]
  # gute Terminals koennen 256 Farben darstellen
  colourmode = 256
  colourmode = 256
  # welche Header sollen angezeigt werden?
  # welche Header sollen angezeigt werden?
  displayed_headers = From,To,Cc,Bcc,Subject
  displayed_headers = From,To,Cc,Bcc,Subject
  # welche E-Mails sollen nach dem Start angezeigt werden. Dies ist eine notmuch Suche.
  # welche E-Mails sollen nach dem Start angezeigt werden. Dies ist eine notmuch Suche
  initial_command = search tag:inbox AND NOT tag:killed
  initial_command = search tag:inbox AND NOT tag:killed


  [accounts]
  [account beispielaccount1]
<nowiki>[[account beispielaccount1]]</nowiki>
  # hier steht alles zu unserem E-Mail-Account
  # hier steht alles zu unserem E-Mail-Account
  realname = Echter Name
  realname = Echter Name
Zeile 178: Zeile 174:
  # hier legen wir unsere gesendeten E-Mails ab.
  # hier legen wir unsere gesendeten E-Mails ab.
  sent_box = maildir:///home/user/maildirs/beispiel1/INBOX.Sent
  sent_box = maildir:///home/user/maildirs/beispiel1/INBOX.Sent
# hier richten wir notmuch address ein um Adressen zu vervollständigen
<nowiki>[[[abook]]]</nowiki>
type = shellcommand
command = "notmuch address --output=recipients date:1Y.. AND from:username@mein_toller.serv.er"
regexp = (\"?(?P<name>.+)\"?)?\s*<(?P<email>.*@.+?)>
shellcommand_external_filtering = False
[bindings]
T = search is:todo
<nowiki>[[search]]</nowiki>
t = toggletags todo


Das war es dann auch schon. Alot starten wir mit dem Befehl:
Das war es dann auch schon. Alot starten wir mit dem Befehl:
Zeile 200: Zeile 184:
auch andere MTAs wie Postfix (Standard bei Ubuntu) verwenden. Hier
auch andere MTAs wie Postfix (Standard bei Ubuntu) verwenden. Hier
wird allerdings die besonders einfache Konfiguration von Exim4
wird allerdings die besonders einfache Konfiguration von Exim4
erläutert.
erlaeutert.


Wir senden E-Mails über einen sogenannten Smarthost in die weite
Wir senden E-Mails ueber einen sogenannten Smarthost in die weite
Welt. Der Smarthost ist ein Mailserver, der unsere E-Mails
Welt. Der Smarthost ist ein Mailserver, der unsere E-Mails
weiterleitet. Es kann zum Beispiel der Mailserver des Informatikums
weiterleitet. Es kann zum Beispiel der Mailserver des Informatikums
hierfür verwendet werden oder aber auch ein eigener.
hierfuer verwendet werden oder aber auch ein eigener.


Folgendes Kommando ist auszuführen:
Folgendes Kommando ist auszufuehren:


  dpkg-reconfigure exim4-config
  dpkg-reconfigure exim4-config
Zeile 230: Zeile 214:
Port 25 verwendet werden.  
Port 25 verwendet werden.  


Nun müssen wir dem MTA nur noch mitteilen wie wir uns gegenüber dem
Nun muessen wir dem MTA nur noch mitteilen wie wir uns gegenueber dem
Smarthost authentifizieren. Das machen wir in der Datei
Smarthost authentifizieren. Das machen wir in der Datei
'''/etc/exim4/passwd.client''':
'''/etc/exim4/passwd.client''':
Zeile 236: Zeile 220:
  smartho.st:username:password
  smartho.st:username:password


Anschließend statten wir die Datei mit den Rechten
Anschliessend statten wir die Datei mit den Rechten
'''root:Debian-exim 0640''' aus:
'''root:Debian-exim 0640''' aus:


Zeile 243: Zeile 227:


Das war es dann auch schon. Nun sollten wir ein funktionierendes
Das war es dann auch schon. Nun sollten wir ein funktionierendes
E-Mail-Ökosystem auf unserem Rechner haben.
E-Mail-Oekosystem auf unserem Rechner haben.


=== Referent ===
=== Referent ===
bjoernb: Ich bin per jabber (bjoernb@bjoernb.org) oder mail (4bewersd@inf) zu erreichen, oder ab und an im c.t..
bjoernb: Ich bin per jabber (bjoernb@jabber.ccc.de) oder mail (4bewersd@inf) zu erreichen, oder ab und an im c.t..


=== Folien ===
=== Folien ===


 
Folien folgen.
[[Medium:Kbs_lightning_ws2011_mua.pdf‎ | Folien vom Vortrag]]


== Weblinks ==
== Weblinks ==
Zeile 260: Zeile 243:
* [http://www.offlineimap.org/ offlineimap]
* [http://www.offlineimap.org/ offlineimap]
* [http://www.notmuchmail.org/ notmuch]
* [http://www.notmuchmail.org/ notmuch]
* [http://www.guru-group.fi/~too/nottoomuch/nottoomuch-addresses/ nottoomuch-addresses]
* [https://github.com/teythoon/afew afew]
* [https://github.com/teythoon/afew afew]
* [https://github.com/pazz/alot alot]
* [https://github.com/pazz/alot alot]


[[Kategorie:KunterBuntesSeminar]]
[[Kategorie:KunterBuntesSeminar]]

Bitte beachte, dass alle Beiträge zu Fachschaft_Informatik von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter Fachschaft Informatik:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite bearbeiten zu können (<a href="/Fachschaft/wiki/index.php?title=Special:Captcha/help" class="internal">weitere Informationen</a>):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)

Die folgende Vorlage wird auf dieser Seite verwendet: