Mutt save in anderen imap account - login per hook?

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Mutt save in anderen imap account - login per hook?

Beitrag von shoening » 09.03.2018 14:05:37

Hallo,

ich benutze für emails mutt und habe mir neulich eingerichtet, dass ich zwischen mehreren IMAP accounts umschalten kann.

Die Konfiguration habe ich im Debianforum Wiki beschrieben.

Jetzt kann ich in mutt ja auch Nachrichten aus einem imap account in einen anderen verschieben. Bisher funktioniert das aber nur, wenn ich in dem Ziel-Account in der Mutt-Sitzung schon eingeloggt war.

Daher die Frage: kann ich den Login für das Ziel beim Save in einem Mutt hook angeben? (und wenn ja - welchen Hook muss ich da nehmen?)

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Mutt save in anderen imap account - login per hook?

Beitrag von novalix » 09.03.2018 16:06:54

Hi,
ich benutze die Sidebar und habe mir folder-hooks für die jeweiligen Accounts angelegt, z.B:

Code: Alles auswählen

folder-hook account2/*  source ~/.Mutt/account2.muttrc
Die sind natürlich in einer zentralen .muttrc, die für alle Accounts gleichzeitig gilt. Accountspezifisches, die Konfigurationen fur die Sidebar und die mailboxes liegen dann in dem Ordner .Mutt und werden halt eingebunden.
Wenn ich jetzt über die Sidebar zu Account2 navigiere, wird dieser in die bestehende Sitzung eingebunden.

Da ich mit Debianofflineimap arbeite kann ich mails lokal auch dann schon kopieren oder verschieben, bevor ich den Zielaccount "betreten" habe. Allerdings muss ich, um die lokalen Änderungen auf den Server zu schieben, den entsprechenden Account in dieser Sitzung schon einmal betreten haben, um die Synchronisation durchzuführen, da ja sonst die entsprechende accountX.muttrc noch nicht eingebunden ist.

Für mich ist das recht unproblematisch, da ich üblicherweise zu Beginn einer Sitzung eh alle meiner drei Accounts abarbeite und damit alle Konfigurationen gesourced habe.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Mutt save in anderen imap account - login per hook?

Beitrag von shoening » 09.03.2018 18:53:51

Hi,

sidebar kannte ich noch nicht. Dann kann ich auf mein account-wechsel script also verzichten.

Habe ich das richtig verstanden, dass in der Sidebar alles angezeigt wird, was ich in "mailboxes" festgelegt habe?
Dann muss ich die in etwa so meine .muttrc eintragen:

mailboxes = imap://account-server1/INBOX imap://account-server2/INBOX

und dann für jede mailbox einen folder-hook einrichten.

Das mit dem Login hast Du also auch nicht anders lösen können.

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Mutt save in anderen imap account - login per hook?

Beitrag von novalix » 09.03.2018 23:41:56

In der .muttrc:

Code: Alles auswählen

source ~/.Mutt/sidebar
Die sieht dann folgendermaßen aus:

Code: Alles auswählen

# color of folders with new mail
set sidebar_visible = yes
color sidebar_new yellow default

# ctrl-n, ctrl-p to select next, prev folder
# ctrl-o to open selected folder
bind index \CP sidebar-prev
bind index \CN sidebar-next
bind index \CO sidebar-open
bind pager \CP sidebar-prev
bind pager \CN sidebar-next
bind pager \CO sidebar-open

# b toggles sidebar visibility
macro index B '<enter-command>toggle sidebar_visible<enter>'
macro pager B '<enter-command>toggle sidebar_visible<enter>'

set sidebar_short_path = yes
In der .muttrc binde ich auch die Mailboxes-Konfiguration ein:

Code: Alles auswählen

source ~/.Mutt/mailboxes
Darin:

Code: Alles auswählen

mailboxes +'---Account1---' +'account1l/INBOX' +account1/.admin' ' +account1/.done' +'account1/.todo' +'account1/.debian-laptop' ' <-- Der erste account ist gar kein IMAP-Postfach. Mails werden von fetchmail geholt und über procmail ins lokale Maildir gefüttert.

mailboxes +'---Account2---' +account2/INBOX +account2/INBOX.sent +account2/INBOX.spam +account2/INBOX.admin +account2/INBOX.cl-debian \ <-- Zeilenumbruch muss escaped sein
          
mailboxes +'---Account3---' <-- Die erste mailbox gibt es gar nicht. Ist lediglich ein Header für die Sidebar

mailboxes +'--Archiv Account1--' +'account1/.prep-user' +'account1/.ucw-devel' +'---Archiv Account2---' \ <-- Ich habe mir noch Archive für mailboxes angelegt, die nicht mehr gesynct werden; meistens abgemeldete oder eingestellte Mailinglisten
Die lokalen Spiegel liegen bei mir in Maildirs unter ~.Mail/. Die Benamsung muss man dann zum Teil mit den jeweiligen Servern austarieren.
Hier hat jemand Macros eingerichtet, die ihm der Beschreibung nach erlauben, schnell zu den einzelnen Accounts zu springen. Ob, warum und wie das funktioniert habe ich nicht ausprobiert bzw. ergründen können.
Ich finde Dein Script allerdings recht ordentlich umgesetzt. Eigentlich sollte es auch möglich sein, das mit entsprechenden Parametern per Macro aufzurufen.
Sowas wie:

Code: Alles auswählen

macro index,pager \e1 "<enter-command>set delete=yes\n<sync-mailbox><enter-command>set delete=ask-yes\n<shell-escape>select-server.sh account1\n"  " Wechsel mal eben zu Account1. Vorher noch löschen, was zu löschen ist, aber frage vorher"
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Mutt save in anderen imap account - login per hook?

Beitrag von shoening » 11.03.2018 11:22:52

Hi,

ich habe mir das jetzt auch mal mit der sidebar eingerichtet.

Das funktioniert auch soweit ganz gut. Unter mailboxes habe ich nur die IMAP-URLs der Server selbst angegeben.

Wenn ich dann in der sidebar bin, wird beim aktuellen Eintrag gar nichts angezeigt.
Fängst Du deswegen Deine Anzeige mit
+'--- Account 1 ---'
an?

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Mutt save in anderen imap account - login per hook?

Beitrag von novalix » 11.03.2018 13:17:35

Bei Dir wird gar nichts angezeigt? Nicht einmal INBOX?
Die Konfiguration in Deinem Wiki-Artikel müsste aber mindestens diesen Namen kennen:

Code: Alles auswählen

set folder = imaps://<imap-server>
set record = imaps://<imap-server>/Sent
set spoolfile = +INBOX
mailboxes = +INBOX
Wie gesagt, arbeitet mutt bei mir ja auf einem lokalen Spiegel. Ich sehe also die Verzeichnis- Dateistruktur quasi vor mir. Das hilft natürlich, um die "richtigen" Bezeichnungen der jeweiligen mailboxes zu finden.
Generell gibt "set folder" die Pfadwurzel an. Die Werte unter "mailboxes" setzen darauf auf. Die Sidebar stellt nur die Werte dar, die unter "mailboxes" gelistet sind. Dabei ist es egal, ob diese tatsächlich existieren.
Deswegen habe ich mir als erste mailbox für jeden Account eine - nennen wir es virtuelle - mailbox angelegt, die einfach als Überschrift fungiert.

Ohne das jetzt überprüfen zu können, da ich nicht direkt auf den Servern arbeite, müsste folgende Konfig Dir zumindest die mailboxes des jeweiligen Servers in der Sidebar anzeigen:

Code: Alles auswählen

set folder = imaps://<imap-server>
set record = +Sent
set spoolfile = +INBOX
set postponed = +Drafts
mailboxes = +Überschrift +INBOX +Sent +Drafts
Bei dieser Konfiguration tauchen die Namen der mailboxes allerdings erst dann auf, wenn die Verbindung hergestellt ist.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Mutt save in anderen imap account - login per hook?

Beitrag von shoening » 15.03.2018 09:02:09

Hi,

das bei mir gar nichts angezeigt wurde, liegt wahrscheinlich daran, dass ich folgendes konfiguriert hatte:

Code: Alles auswählen

set folder = imaps://<account1>/INBOX
mailboxes =
Ich habe meine Konfiguration jetzt noch einmal komplett überarbeitet - jetzt mit account-hooks und folder-hooks.
Das klappt prima. Ich werde dann bei Gelegenheit mal meine Beschreibung im Wiki überarbeiten.

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Mutt save in anderen imap account - login per hook?

Beitrag von shoening » 17.03.2018 15:32:27

Hi,

ich habe jetzt im Wiki einen weiteren Artikel hinterlegt, in dem ich meine Konfiguration für mehrere Accounts mit Sidebar
beschrieben habe:

Mutt mit Sidebar und mehreren Accounts

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Antworten