Dovecot-Server verwalten (Debian): Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(7 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 == | ||
Zeile 11: | Zeile 18: | ||
doveadm search mailbox <mailboxname> | doveadm search mailbox <mailboxname> | ||
doveadm search mailbox <mailboxname.subfolder> | doveadm search mailbox <mailboxname.subfolder> | ||
doveadm search mailbox <mailboxname> unseen | doveadm search mailbox <mailboxname> unseen # Alle nicht gelesenen Nachrichten in Mailbox | ||
doveadm search on YYYY-MM-DD | 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 == | == Felder einer Nachricht ausgeben == | ||
Vgl. | Vgl. https://wiki2.dovecot.org/Tools/Doveadm/Fetch | ||
'''doveadm''' ['''-Dv'''] ['''-f''' ''formatter''] '''fetch''' ['''-S''' ''socket_path''] ['''-u''' ''user''] ''fields search_query'' | '''doveadm''' ['''-Dv'''] ['''-f''' ''formatter''] '''fetch''' ['''-S''' ''socket_path''] ['''-u''' ''user''] ''fields search_query'' | ||
Beispiel: | Beispiel: | ||
doveadm fetch | 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 | 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'''] '''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'' | ||
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 == | ||
Zeile 37: | Zeile 51: | ||
doveadm expunge mailbox <mailboxfolder> all | doveadm expunge mailbox <mailboxfolder> all | ||
== | == Flags in Nachrichten setzen == | ||
doveadm flags add '\Seen' mailbox INBOX unseen | 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 == | == Backup erstellen == | ||
Vgl. | 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''' ['''-Dv'''] '''sync''' ['''-u''' ''user''|'''-A'''|'''-F''' ''file''] ['''-m''' ''mailbox''] ['''-g''' ''mailbox_guid''] ['''-T''' ''secs''] ['''-t''' ''start date''] ['''-e''' ''end date''] '''-d'''|''destination'' | '''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'' | '''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'' | ''dsync backup remote:user@server.tld'' | ||
== Backup wiederherstellen == | == Backup wiederherstellen == | ||
doveadm -Dv import <source-location> <destination-parent> <search_query> | 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. | |||
Die Mailbox wird in der Targetmailbox als untergeordnete Mailbox (Unterverzeichnis) angelegt: | '''<u>Vorgehen</u>''' | ||
* 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:~/mbox <Targetmailbox> all # Allgemein | ||
doveadm -Dv import -u user1 mbox:~/backup/2016 Archive all # Konkreter Anwendungsfall | doveadm -Dv import -u user1 mbox:~/backup/2016 Archive all # Konkreter Anwendungsfall | ||
[[ | [[Category:Linux]] | ||
[[Kategorie:Terminal]] | [[Kategorie:Terminal]] | ||
[[Kategorie:E-Mail]] | [[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 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 (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_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.
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 -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