Paddy_123
Anmeldungsdatum: 19. Juli 2020
Beiträge: 27
|
Hallo liebes Forum,
ich beschäftige mich gerade mit Mutt bzw "neomutt" und würde dies gerne auf meinem Rechner einrichten.
Ich habe versucht mich mit der Mutt-config von ArchWiki durchzuschlagen
Es geht zunächst um einen T-OnlineServer.
IMAP läuft, dh ich kann Mails lesen und abrufen SMTP macht Probleme mit der Meldung "SMTP-Verbindung fehlgeschlagen: Lesefehler"
Neomutt liegt in ~/.config/neomutt/neomuttrc
und ich habe in muttrc mein Account verlinkt ~/.config/neomutt/acounts/t-online/config Hier meine config file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 | #vim filetype=muttrc
2 unmailboxes *
3
4 my_user = "USERNAME"
5
6 #SMTP
7 set smtp_url = "smtps://USERNAME@t-online.de@securesmtp.t-online.de:465"
8 set realname = "NAME"
9 set from = "USERNAME@t-online.de
10 set use_from = yes
11 set smtp_pass = $imap_pass
12 set ssl_force_tls = yes
13 set ssl_starttls = yes
14 #falls STMP LOGIN authentication method nutzt
15 set smtp_authenticator = "login"
16
17 #IMAP
18 set imap_user = USERNAME
19 set imap_pass = PASSWORD
20 set spoolfile = +INBOX
21 uset folder = "imaps://USERNAME@t-online.de@secureimap.t-online.de:993"
22 mailboxes =
23
24 #Store message headers locally
25 set header_cache=~/.cache/mutt/USERNAME
26 #Store messages
27 set message_cachedir = ~/.cache/mutt/USERNAME
28
29 #Allow Mutt to open a new IMAP connection automatically
30 unset imap_passive
31
32 # Keep IMAP connection alive by polling intermittently (time in seconds)
33 set imap_keepalive = 300
34
35 #How often to check for new mail (time in seconds)
36 set mail_check = 360
37
38 set record = "+Sent"
53 set trash = "+Trash"
54 set postponed = "+Drafts"
|
Vielen Dank
|
shiro
Anmeldungsdatum: 20. Juli 2020
Beiträge: 960
|
Hallo Paddy_123, ich habe zwar keinen t-online Account, nutze aber seit langem mutt. Was mir aufgefallen ist, ist deine Definition von "set smtp_url". Kannst du statt
set smtp_url = "smtps://USERNAME@t-online.de@securesmtp.t-online.de:465"
dies mal probieren
set smtp_url = "smtp://$imap_user@securesmtp.t-online.de:587/" Eventuell braucht der t-online Server wirklich "smtps:" obwohl der Port die SSL Tür nutzt. Ich hätte hier "smtp:" erwartet. Zwar sollte Port 465 klappen, eventuell geht es mit 587 besser und den Slash am Ende nicht vergessen. Woher hast du deine smtp_url Definition? Um analytisch vorzugehen, lohnt sich ein Debugging (mutt -d 2) wenn eine Mail versendet werden soll. Die Debug-Ausgabe ist meist unter "~/.muttdebug0" zu finden, wenn du sie nicht umdefiniert hast.
|
Paddy_123
(Themenstarter)
Anmeldungsdatum: 19. Juli 2020
Beiträge: 27
|
Hallo shiro,
danke für die Antwort. Das mit SMTPS habe ich aus dem ArchWiki https://wiki.archlinux.org/title/mutt#Native_SMTP_support Note that if your SMTP credentials are the same as your IMAP credentials, then you can use those variables:
set smtp_pass = $imap_pass
set smtp_url=smtps://$imap_user@smtp.domain.tld
smtp mit :465 schlug fehl.
Auf der T-online-Seite stand nichts von einem Port 587 ABER
mit smtp****:587 hat es geklappt und ich kann nun Mails verschicken. Ich bekomme allerdings immer noch eine Fehlermeldung: siehe Anhang Bild
Bild: Die Meldung kommt nachdem ich die Nachricht geschrieben habe und auf Senden(y) drücke. Dann muss ich Ü(b)erspringen und er schickt sie ab.
|
shiro
Anmeldungsdatum: 20. Juli 2020
Beiträge: 960
|
Hallo Paddy_123, danke für die Änderungsreaktion. Das Löschen des Code-Blocks ist auch eine Lösung 😉 . Nun zu den aufgetretenen Problemen, so ich sie noch in Erinnerung habe: Die Fehlermeldungen kommen, weil du in deiner Konfiguration dies so wünschst.
Demnach darf eine gesendete Mail nicht in den "Sent" Ordner verschoben werden, was die Fehlermeldung liefert. Vergleichbares trifft auch für die Ordner "Draft" und "info" zu. Letztendlich sollte deine Konfiguration für Mutt Ordner auch zu denen passen, die du als IMAP Ordner auf dem Server angelegt hast und welche Funktionalität du ihnen zuordnen möchtest. Ich habe daher zu deiner Konfiguration einige Fragen: Paddy_123 schrieb: Hier meine config file
Warum setzt du "mailboxes ="? Entweder man lässt die Zeile komplett weg, dann wird halt INBOX genommen oder man definiert "mailboxed = +INBOX" oder etwas anderes Sinnvolles. Warum setzt du "unmailboxes *"? Damit verbietest du, dass eine Mail in irgendeinen Ordner verschoben werden darf. Wenn du aber eine Mail versendest, wird sie normalerweise in der "Sent" Ordner verschoben. Dies verbietest du aber mit den Statement. Auch das Verschieben von einer Mail aus einem Ordner in einen anderen wird damit verboten. Ich würde empfehlen, das Statement komplett zu löschen, wenn du die Fehlermeldungen nicht haben willst. Anderenfalls müsstest du mal spezifizieren, was du mit dem Statement erreichen willst. Kann es sein, dass du eigentlich die Funktion von "set move = no" haben willst? Was willst du mit dem "uset folder = ..." Statement erreichen? Mir ist kein Keyword "uset" bekannt. Willst du ein "unset" machen? Das ergäbe aber doch keinen Sinn. Oder ist es ein Tippfehler?
|
shiro
Anmeldungsdatum: 20. Juli 2020
Beiträge: 960
|
Da sich andere User die Informationen eventuell auch interessieren, beantworte ich die Fragen aus der PN in diesem Thread weiter:
Frage 1: Bisher liegen meine Accountdaten ja im ~/ Verzeichnis ... dh auch hier für alle Einsehbar. Wie sicherst du deine MUTT Accountdaten ab? bzw wo liegen sie bei dir damit nur root zugriff hat?
Antwort 1: Im $HOME Verzeichnis (~) sind deine Daten für Mutt durchaus sinnvoll aufgehoben. Allerdings solltest du die Protection der Konfigurationsdatei so setzen, dass nur du darauf Zugriff hast. (keine Gruppe, kein World. Mutt ist halt schon etwas älter, heute würde man die Credentials z.B. bei Seahorse sichern) Es ist keine gute Idee, hier den root Account zu nutzen, da du mit deinem Account die Konfiguration ja lesen musst. Mutt läuft ja in deinem User-Kontext. Beispiel: $ chmod 600 .*muttrc; ls .*muttrc Frage 2: Interpretation des Inhalts des Mutt-Debug-Logfiles (z.B. ~/.neomuttdebug0)
Antwort 2: Aufruf z.B. über "mutt -d 2" erzeugt ~/.muttdebug0 Nach Erstellen (m) und Absenden (y) der Mail sieht man im o.g. Logfile einen Eintrag, wo die Kommunikation mit dem SMTP server (ESMTP receiver) beginnt.
Angemeldet wird hier nicht mit "HELO" wie bei unverschlüsseltem sondern mit "EHLO" bei verschlüsseltem Daten-Transport zum SMTP Server. Verschlüsselt wird in der Regel mit einem TLS Protokoll (1.2 oder 1.3).
Mutt sendet Username und Passwort an den Server in Base64 encodiertem Format entweder in 2 Zeilen oder in einer Zeile mit 0x00 Trennzeichen im Anschluss an das "AUTH LOGIN" bzw "AUTH PLAIN" Token. Beispiel:
$ Username="User@domaene.de"; echo $Username | base64 -> VXNlckBkb21hZW5lLmRlCg==
$ Passwort="5+ren9_Gehe1m"; echo $Passwort | base64 -> NStyZW45X0dlaGUxbQo=
oder
$ printf "%s%c%s%c%s" $Username $'\000' $Username $'\000' $Passwort | base64 -> VXNlckBkb21hZW5lLmRlAFVzZXJAZG9tYWVuZS5kZQA1K3JlbjlfR2VoZTFt
AUTH LOGIN
VXNlckBkb21hZW5lLmRlCg==
NStyZW45X0dlaGUxbQo=
MAIL FROM:<$Username>
RCPT TO:<MAILADRESSEEMPFAENGER>
DATA
... nun kommt die normale Mail mit Subject, Mail-Header und Mail-Body. Wenn die Mail fertig ist, kommt nur ein Punkt (.) in der Zeile.
.
QUIT
Das war es auch schon. Wenn man den "~/.muttdebug0" nach den Credentials durchsuchen will, kann man einen der folgenden Befehle zum Auflisten verwenden:
$ grep -A 4 "AUTH LOGIN$" ~/.muttdebug0 | sed -n '3p;5p' | sed 's/^.* .> //' | while read i; do echo $i | base64 -d; echo; done
User@domaene.de
5+ren9_Gehe1m
oder
$ grep "AUTH PLAIN" ~/.muttdebug0 | sed 's/^.*AUTH PLAIN //' | base64 -di | tr '\000' '\n'; echo
User@domaene.de
User@domaene.de
5+ren9_Gehe1m
|
Paddy_123
(Themenstarter)
Anmeldungsdatum: 19. Juli 2020
Beiträge: 27
|
Hallo shiro
Die Config war eine Mischung aus vielen Quellen. Falscher Ansatz. Definitiv. Ich habe nochmal von 0 angefangen und baue jetzt Schritt für Schritt auf 😛.
Ich beantworte noch deine Posts und ich denke dann können wir das Thema schließen da der "SMTP" Fehler nun nicht mehr besteht.
Ich würde aber nochmal ein mutt.config Thema aufmachen, da sich sicherlich noch ein paar Fragen / Probleme zeigen werden. shiro schrieb: Die Fehlermeldungen kommen, weil du in deiner Konfiguration dies so wünschst.
Demnach darf eine gesendete Mail nicht in den "Sent" Ordner verschoben werden, was die Fehlermeldung liefert. Vergleichbares trifft auch für die Ordner "Draft" und "info" zu. Letztendlich sollte deine Konfiguration für Mutt Ordner auch zu denen passen, die du als IMAP Ordner auf dem Server angelegt hast und welche Funktionalität du ihnen zuordnen möchtest.
Hier habe ich nochmals bei T-Online nachgeschaut und die Struktur ist nicht nur .Sent sonder INBOX.Sent
set spoolfile = "=INBOX"
set record = "=INBOX.Sent"
set trash = "="INBOx.Trash"
set postponed = "=INBOX.Drafts
hat hier geholfen und funktioniert.
Warum setzt du "mailboxes ="? Entweder man lässt die Zeile komplett weg, dann wird halt INBOX genommen oder man definiert "mailboxed = +INBOX" oder etwas anderes Sinnvolles.
Macht sind aber Frage:
wenn ich wie oben set trash etc gesetzt habe muss ich dann nochmals
mailboxex =INBOX =INBOX.Sent
setzen?
Verstehe ich das richtig, dass "set trash" den Müll benennt und mit "mailboxes =INBOX.Trash" sage ich MUTT er soll mir diese Mailbox auch anzeigen? Was willst du mit dem "uset folder = ..." Statement erreichen? Mir ist kein Keyword "uset" bekannt. Willst du ein "unset" machen? Das ergäbe aber doch keinen Sinn. Oder ist es ein Tippfehler?
Tippfehler ☺ Hier meine "aufgeräumte neue Version"
#vim : filetype=neomuttrc
source color.muttrc
set editor = "vim"
set folder = "imaps://$imap_user@t-online.de@secureimap.t-online.de:993/"
set imap_user = USER
#STMP
set smtp_url = "smtp://$imap_user@t-online.de@securesmtp.t-online.de:587/"
set ssl_starttls = yes
set ssl_force_tls = yes
#USER
set from = "$imap_user@EMAIL"
set realname = "NAME"
set use_from = yes
set spoolfile = "=INBOX"
set record = "=INBOX.Sent"
set trash = "=INBOX.Trash"
set postponed = "=INBOX.Drafts"
mailboxes =INBOX =INBOX.Sent =INBOX.Trash =INBOX.Drafts Ich würde den Beitrag dann als gelöst deklarieren und einen neuen aufmachen.
https://forum.ubuntuusers.de/topic/neomutt-config-muttrc-probleme-und-loesungen/ Er zeigt mit nämlich noch einen "Anmeldefehler" was aber eher an IMAP liegt.
Vielen Dank für die Hilfe und bis hoffentlich im nächsten Post ☺
|
Paddy_123
(Themenstarter)
Anmeldungsdatum: 19. Juli 2020
Beiträge: 27
|
Vielen Dank dafür:
> Antwort 1: Im $HOME Verzeichnis (~) sind deine Daten für Mutt durchaus sinnvoll aufgehoben. Allerdings solltest du die Protection der Konfigurationsdatei so setzen, dass nur du darauf Zugriff hast. (keine Gruppe, kein World. Mutt ist halt schon etwas älter, heute würde man die Credentials z.B. bei Seahorse sichern) Es ist keine gute Idee, hier den root Account zu nutzen, da du mit deinem Account die Konfiguration ja lesen musst. Mutt läuft ja in deinem User-Kontext.
Beispiel: $ chmod 600 .*muttrc; ls .*muttrc
So habe ich es bei mir gesetzt. Dh dein Passwort steht im Klartext in der Datei im USER-Verzeichnis. Gibt es eine Möglichkeit das Auszulagern? Ich habe irgendetwas aufgeschnappt mit "pass" und "gpg". Das ich es verstanden habe möchte ich allerdings nicht behaupten, ist noch in Arbeit.
Frage 2: Interpretation des Inhalts des Mutt-Debug-Logfiles (z.B. ~/.neomuttdebug0)
Nach Erstellen (m) und Absenden (y) der Mail sieht man im o.g. Logfile einen Eintrag, wo die Kommunikation mit dem SMTP server (ESMTP receiver) beginnt.
Angemeldet wird hier nicht mit "HELO" wie bei unverschlüsseltem sondern mit "EHLO" bei verschlüsseltem Daten-Transport zum SMTP Server. Verschlüsselt wird in der Regel mit einem TLS Protokoll (1.2 oder 1.3).
Mutt sendet Username und Passwort an den Server in Base64 encodiertem Format entweder in 2 Zeilen oder in einer Zeile mit 0x00 Trennzeichen im Anschluss an das "AUTH LOGIN" bzw "AUTH PLAIN" Token.
Gut zu Wissen, der Fehler passiert mir hoffentlich nicht nochmal. Danke dir
|
shiro
Anmeldungsdatum: 20. Juli 2020
Beiträge: 960
|
Paddy_123 schrieb: Gibt es eine Möglichkeit das Auszulagern? Ich habe irgendetwas aufgeschnappt mit "pass" und "gpg".
Ja, kann man machen. Die Passwort Direktiven kopiert man in eine eigene Datei, die man z.B. mit GPG verschlüsselt und die im .muttrc am Ende gesourced wird. Jedes mal, wenn man dann mutt aufruft, muss man aber die Passphrase eingeben, wenn man nicht einen agent parallel hochfährt, der das für einen macht.
Eine relativ gute Beschreibung, wie man das aufsetzt, steht >>hier<<.
|
Paddy_123
(Themenstarter)
Anmeldungsdatum: 19. Juli 2020
Beiträge: 27
|
Danke schau ich mir mal an.
|
Paddy_123
(Themenstarter)
Anmeldungsdatum: 19. Juli 2020
Beiträge: 27
|
shiro schrieb: Ja, kann man machen. Die Passwort Direktiven kopiert man in eine eigene Datei, die man z.B. mit GPG verschlüsselt und die im .muttrc am Ende gesourced wird. Jedes mal, wenn man dann mutt aufruft, muss man aber die Passphrase eingeben, wenn man nicht einen agent parallel hochfährt, der das für einen macht.
Eine relativ gute Beschreibung, wie man das aufsetzt, steht >>hier<<.
Der Beschreibung im Link ist nicht mehr up-to-date daemon läuft, .gpg Datei ist erstellt und war verlinkt allerdings kann sie nicht entschlüsseln da keine Berechtigung.
Mutt frägt mich auch nicht nach dem Passphrase sondern weiterhin nach dem Passwort, dann läd er die gpg Datei und die Fehlermeldung erscheint.
|
shiro
Anmeldungsdatum: 20. Juli 2020
Beiträge: 960
|
Ja, man sollte einen Tipp wohl besser vorher noch mal selbst ausprobieren... Ich habe folgendes gemacht:
$ mkdir ~/.mutt
$ echo "set imap_pass = \"meinIMAPpassw0rt\"
set smtp_pass = \$imap_pass" >~/.mutt/password
$ #Verschlüssele die Passworte
$ gpg -r mailuser@domaene.de -e ~/.mutt/password
$ rm ~/.mutt/password ; chmod 400 ~/.mutt/password.gpg ; ls -laog ~/.mutt
drwxrwxr-x 2 4096 Mai 12 00:06 .
drwxr-xr-x 58 4096 Mai 11 23:49 ..
-r-------- 1 504 Mai 11 23:25 password.gpg
$ head -5 ~/.muttrc
source "gpg -d ~/.mutt/password.gpg |"
set from = "mailuser@domaene.de"
set realname = "Vorname Nachname"
set imap_user = "mailuser@domaene.de"
set smtp_url = "smtp://$imap_user@smtp.provider.de:587/"
$
$ gpg -k
/home/user/.gnupg/pubring.kbx
--------------------------------
...
pub rsa3072 2021-05-11 [SC] [verfällt: 2023-05-11]
1AF0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC6B4
uid [uneingeschränkt] Vorname Nachname <mailuser@domaene.de>
sub rsa3072 2021-05-11 [E] [verfällt: 2023-05-11]
Ich habe keinen agent laufen, somit wird Passphrase beim ersten Aufruf von mutt abgefragt. Bei folgenden mutt Aufrufen der gleichen Login-Session wird aber keine erneute Passphrase mehr abgefragt. Allerdings habe ich auch Seahorse installiert, eventuell übernimmt dieser die Aufgabe des agents.
Wesentlich ist aber: Es funktioniert. Mein Fehler war dass ich "am Ende" schrieb. Das sourcen sollte am Anfang der Config-Files stattfinden, damit die entschlüsselten Statements zur Verfügung stehen. Du solltest allerdings die Datei mittels "$ gpg -d ~/.mutt/password.pgp" entschlüsseln können, sonst hast du ein falsches Zertifikat erzeugt bzw in deinem Schlüsselbund gespeichert.
|
Paddy_123
(Themenstarter)
Anmeldungsdatum: 19. Juli 2020
Beiträge: 27
|
Ja, man sollte einen Tipp wohl besser vorher noch mal selbst ausprobieren...
Kein Problem, der Guide ist trotzdem "gut" nur eben nicht mehr ganz aktuell
Mein Fehler war dass ich "am Ende" schrieb. Das sourcen sollte am Anfang der Config-Files stattfinden,
Hab ich mir schon gedacht ausprobiert ... MEIN FEHLER WAR ... :
das ich den Schlüssel mit sudo, also root erstellt habe ... ist klar das ich es im Homeverzeichnis dann nicht decrypten kann.
Schlüssel mit USER erstellt und es funktioniert
|