Dovecot-Server verwalten (Debian): Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


Die einzelnen Funktionen werden im Folgenden beschrieben.
Die einzelnen Funktionen werden im Folgenden beschrieben.
'''Quelle:''' https://wiki2.dovecot.org/Tools/Doveadm
'''Hinweise:'''
* IMAP-Ordner werden in Dovecot als Mailboxen bezeichnet
* Unterordner werden ebenfalls als Mailboxen bezeichnet
* Unterordner werden im Server üblicherweise mit Punkt an den übergeordneten Ordner angelegt, z. B.: .INBOX.2013


== Search Query / Nachrichten suchen ==
== Search Query / Nachrichten suchen ==
Viele Doveadm-Programme benötigen eine search query zur Auswahl der zu bearbeitenden Nachrichten. Vgl. http://wiki2.dovecot.org/Tools/Doveadm/SearchQuery
Viele Doveadm-Programme benötigen eine search query zur Auswahl der zu bearbeitenden Nachrichten.  
 
Vgl. http://wiki2.dovecot.org/Tools/Doveadm/SearchQuery


Die Auswahl durch eine search query kann mit folgendem Programm getestet werden:
Die Auswahl durch eine search query kann mit folgendem Programm getestet werden:
  doveadm search mailbox <mailboxname>
  doveadm search mailbox <mailboxname>
  doveadm search mailbox <mailboxname.subfolder>
  doveadm search mailbox <mailboxname.subfolder>
doveadm search mailbox <mailboxname> unseen                                          # Alle nicht gelesenen Nachrichten in Mailbox
doveadm search on YYYY-MM-DD
doveadm search -u <user> mailbox <mailboxname> on YYYY-MM-DD
doveadm search -u <user> mailbox <mailboxname> before YYYY-MM-DD since YYYY-MM-DD   
Before ist exlusive dem angegebenen Tag, Since inklusive dem angegebenen Tag.
== Felder einer Nachricht ausgeben ==
Vgl. https://wiki2.dovecot.org/Tools/Doveadm/Fetch
'''doveadm''' ['''-Dv'''] ['''-f''' ''formatter''] '''fetch''' ['''-S''' ''socket_path''] ['''-u''' ''user''] ''fields search_query''
Beispiel:
doveadm fetch -u <user> flags mailbox <Mailboxname> uid <uid>
doveadm fetch -u <user> date.received mailbox <Mailboxname> uid <uid>
doveadm fetch -u <user> "flags date.received hdr.subject" mailbox <Mailboxname> on YYYY-MM-DD


== Verschieben / Kopieren von Nachrichten  ==
== Verschieben / Kopieren von Nachrichten  ==
Verschieben (oder kopieren) aller Nachrichten aus einem Unterordner einer Mailbox in eine andere Mailbox:
Verschieben (oder kopieren) aller Nachrichten aus einer Unter-Mailbox in andere Mailbox:


Allgemeine Fassung:
  '''doveadm''' ['''-Dv'''] '''move''' ['''-S''' ''socket_path''] ''destination'' ['''user''' ''source_user''] ''search_query''
  '''doveadm''' ['''-Dv'''] '''move''' ['''-S''' ''socket_path''] ''destination'' ['''user''' ''source_user''] ''search_query''
  '''doveadm''' ['''-Dv'''] '''copy''' ['''-S''' ''socket_path''] ''destination'' ['''user''' ''source_user''] ''search_query''
  '''doveadm''' ['''-Dv'''] '''copy''' ['''-S''' ''socket_path''] ''destination'' ['''user''' ''source_user''] ''search_query''
Fassung zum Löschen eines Unterordners:
 
Nachrichten aus einer Mailbox in eine Untermailbox verschieben:
  doveadm move <destination-mailbox> mailbox <source-mailbox.subfolder> all
  doveadm move <destination-mailbox> mailbox <source-mailbox.subfolder> all
Nachrichten anhand des Datums in eine andere Mailbox verschieben:
doveadm move -u <user> <to-mailbox> mailbox <from-mailbox> before YYYY-MM-DD since YYYY-MM-DD


== Löschen von Nachrichten ==


== Löschen von Nachrichten ==
  '''doveadm''' ['''-Dv'''] '''expunge''' ['''-S''' ''socket_path''] ['''-d'''] ''search_query''
  '''doveadm''' ['''-Dv'''] '''expunge''' ['''-S''' ''socket_path''] ['''-d'''] ''search_query''
Löschen aller Nachrichten aus einer Mailbox (Mailbox bleibt erhalten):
 
Löschen aller Nachrichten aus einer Mailbox. Wenn der Parameter '''-d''' verwendet wird, wird die Mailbox am Ende ebenfalls gelöscht:
 
  doveadm expunge mailbox <mailboxfolder> all
  doveadm expunge mailbox <mailboxfolder> all


== Restore / Import Backup ==
== Flags in Nachrichten setzen ==
  doveadm import <source-location> <destination-parent> <search_query>
Vgl. https://wiki2.dovecot.org/Tools/Doveadm/Flags
'''doveadm flags add''' ['''-u''' ''user''|'''-A'''|'''-F''' ''file''] ['''-S''' ''socket_path''] ''flags search_query''
'''doveadm flags remove''' ['''-u''' ''user''|'''-A'''|'''-F''' ''file''] ['''-S''' ''socket_path''] ''flags search_query''
 
=== Beispiel, um alle Nachrichten auf gelesen zu setzen ===
  doveadm flags add -u <user> '\Seen' mailbox INBOX unseen
 
== Backup erstellen ==
Für die Übertragung der Backups auf einen Remoteserver wird auf dem Remoteserver ebenfalls ein Dovecot-Server benötigt.


mbox-Backup in eine Dovecot-Mailbox wiederherstellen:
Vgl. https://wiki2.dovecot.org/Tools/Doveadm/Sync
'''doveadm''' ['''-Dv'''] '''sync''' ['''-u''' ''user''|'''-A'''|'''-F''' ''file''] ['''-m''' ''mailbox''] ['''-g''' ''mailbox_guid''] ['''-T''' ''secs''] ['''-t''' ''start date''] ['''-e''' ''end date''] '''-d'''|''destination''
'''doveadm''' ['''-Dv'''] '''backup''' ['''-u''' ''user''|'''-A'''|'''-F''' ''file''] ['''-m''' ''mailbox''] ['''-g''' ''mailbox_guid''] ['''-T''' ''secs''] ['''-t''' ''start date''] ['''-e''' ''end date''] '''-d'''|''destination''
''dsync backup remote:user@server.tld''
== Backup wiederherstellen ==


  doveadm import mbox:~/backup/2016 <Targetmailbox> all
  doveadm -Dv import <source-location> <destination-parent> <search_query>


== Backup aus mbox wiederherstellen ==
Dovecot kann Mailboxen gegebener Formate in andere Formate konvertieren. Dies passiert mit <code>doveadm import</code>


Das Standard-Format ist maildir++, es kann jedoch auch aus einem mbox-Backup wiederhergestellt werden.


[[Kategorie:Debian]]
'''<u>Vorgehen</u>'''
[[Kategorie:Terminal]]
* mbox-Datei auf Server in ein Unterverzeichnis "restore" übertragen
[[Kategorie:E-Mail]]
* Restore wird mit dem Import-Befehl durchgeführt
* Die Mailbox wird in der Targetmailbox als untergeordnete Mailbox (Unterverzeichnis) angelegt:
doveadm -Dv import -u user1 mbox:~/mbox <Targetmailbox> all          # Allgemein
doveadm -Dv import -u user1 mbox:~/backup/2016 Archive all            # Konkreter Anwendungsfall
[[Category:Linux]]
[[Kategorie:Terminal]]
[[Kategorie:E-Mail]]

Aktuelle Version vom 2. September 2017, 15:26 Uhr

Die Verwaltung des Dovecot-Servers findet mit dem Programm doveadm statt.

Die einzelnen Funktionen werden im Folgenden beschrieben.

Quelle: https://wiki2.dovecot.org/Tools/Doveadm

Hinweise:

  • IMAP-Ordner werden in Dovecot als Mailboxen bezeichnet
  • Unterordner werden ebenfalls als Mailboxen bezeichnet
  • Unterordner werden im Server üblicherweise mit Punkt an den übergeordneten Ordner angelegt, z. B.: .INBOX.2013

Search Query / Nachrichten suchen

Viele Doveadm-Programme benötigen eine search query zur Auswahl der zu bearbeitenden Nachrichten.

Vgl. http://wiki2.dovecot.org/Tools/Doveadm/SearchQuery

Die Auswahl durch eine search query kann mit folgendem Programm getestet werden:

doveadm search mailbox <mailboxname>
doveadm search mailbox <mailboxname.subfolder>
doveadm search mailbox <mailboxname> unseen                                           # Alle nicht gelesenen Nachrichten in Mailbox 
doveadm search on YYYY-MM-DD 
doveadm search -u <user> mailbox <mailboxname> on YYYY-MM-DD 
doveadm search -u <user> mailbox <mailboxname> before YYYY-MM-DD since YYYY-MM-DD     

Before ist exlusive dem angegebenen Tag, Since inklusive dem angegebenen Tag.

Felder einer Nachricht ausgeben

Vgl. https://wiki2.dovecot.org/Tools/Doveadm/Fetch

doveadm [-Dv] [-f formatterfetch [-S socket_path] [-u user] fields search_query

Beispiel:

doveadm fetch -u <user> flags mailbox <Mailboxname> uid <uid> 
doveadm fetch -u <user> date.received mailbox <Mailboxname> uid <uid> 
doveadm fetch -u <user> "flags date.received hdr.subject" mailbox <Mailboxname> on YYYY-MM-DD

Verschieben / Kopieren von Nachrichten

Verschieben (oder kopieren) aller Nachrichten aus einer Unter-Mailbox in andere Mailbox:

doveadm [-Dv] move [-S socket_path] destination [user source_user] search_query
doveadm [-Dv] copy [-S socket_path] destination [user source_user] search_query

Nachrichten aus einer Mailbox in eine Untermailbox verschieben:

doveadm move <destination-mailbox> mailbox <source-mailbox.subfolder> all

Nachrichten anhand des Datums in eine andere Mailbox verschieben:

doveadm move -u <user> <to-mailbox> mailbox <from-mailbox> before YYYY-MM-DD since YYYY-MM-DD

Löschen von Nachrichten

doveadm [-Dv] expunge [-S socket_path] [-d] search_query

Löschen aller Nachrichten aus einer Mailbox. Wenn der Parameter -d verwendet wird, wird die Mailbox am Ende ebenfalls gelöscht:

doveadm expunge mailbox <mailboxfolder> all

Flags in Nachrichten setzen

Vgl. https://wiki2.dovecot.org/Tools/Doveadm/Flags

doveadm flags add [-u user|-A|-F file] [-S socket_pathflags search_query
doveadm flags remove [-u user|-A|-F file] [-S socket_pathflags search_query

Beispiel, um alle Nachrichten auf gelesen zu setzen

doveadm flags add -u <user> '\Seen' mailbox INBOX unseen

Backup erstellen

Für die Übertragung der Backups auf einen Remoteserver wird auf dem Remoteserver ebenfalls ein Dovecot-Server benötigt.

Vgl. https://wiki2.dovecot.org/Tools/Doveadm/Sync

doveadm [-Dvsync [-u user|-A|-F file] [-m mailbox] [-g mailbox_guid] [-T secs] [-t start date] [-e end date-d|destination
doveadm [-Dvbackup [-u user|-A|-F file] [-m mailbox] [-g mailbox_guid] [-T secs] [-t start date] [-e end date-d|destination
dsync backup remote:user@server.tld

Backup wiederherstellen

doveadm -Dv import <source-location> <destination-parent> <search_query>

Backup aus mbox wiederherstellen

Dovecot kann Mailboxen gegebener Formate in andere Formate konvertieren. Dies passiert mit doveadm import

Das Standard-Format ist maildir++, es kann jedoch auch aus einem mbox-Backup wiederhergestellt werden.

Vorgehen

  • mbox-Datei auf Server in ein Unterverzeichnis "restore" übertragen
  • Restore wird mit dem Import-Befehl durchgeführt
  • Die Mailbox wird in der Targetmailbox als untergeordnete Mailbox (Unterverzeichnis) angelegt:
doveadm -Dv import -u user1 mbox:~/mbox <Targetmailbox> all           # Allgemein
doveadm -Dv import -u user1 mbox:~/backup/2016 Archive all            # Konkreter Anwendungsfall