Dovecot-Server verwalten (Debian)

Aus MattWiki

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

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 einem Unterordner einer Mailbox in eine 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

Fassung zum Löschen eines Unterordners:

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

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>

Vorgehen um ein Backup aus einer mbox-Datei zu wiederherstellen

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