Modify SQL update script to accept NULL fields for users
The value NULL in the qid/ssid/tid fields of the user table means that the
value from the associated domain record should be used instead.
This patch modifies the PL/pgSQL functions used by Dovecot and Postfix
accordingly.
.TH "VMM" "1" "2011-11-13" "vmm 0.6" "vmm"
.SH NAME
vmm \- Kommandozeilenprogramm zur Verwaltung von E\-Mail\-Domains/\-Konten
und \-Aliase.
.\" -----------------------------------------------------------------------
.SH ÜBERSICHT
.B vmm
.IR Unterbefehl " [" "Argument ..." ]
.\" -----------------------------------------------------------------------
.SH BESCHREIBUNG
.B vmm
(a virtual mail manager) ist das einfach zu bedienende
Kommandozeilenprogramm für Administratoren und Postmaster, zur Verwaltung
von (Alias\-) Domains, Konten, Alias\-Adressen und sogenannten Relocated
Users.
Es ermöglicht die schnelle und einfache Verwaltung des Mailservers.
.br
Es wurde für Dovecot und Postfix mit einem PostgreSQL\-Backend entwickelt.
.PP
Von jedem
.I Unterbefehl
gibt es jeweils eine lange und kurze Variante.
Die Kurzform ist in Klammern geschrieben.
Bei beiden Formen ist die Groß-/Kleinschreibung zu berücksichtigen.
.PP
Die meisten
.IR Unterbefehl e
erwarten ein oder mehrere
.IR Argument e.
.\" -----------------------------------------------------------------------
.SH ARGUMENTE
.TP 12
.I address
Die komplette E\-Mail\-Adresse
.RI ( local\-part @ fqdn )
eines Kontos, Aliases oder Relocated Users.
.\" --------------------------
.TP
.I destination
Ist entweder eine E\-Mail\-Adresse, wenn sie in Verbindung mit
.I "ALIAS UNTERBEFEHLEN"
verwendet wird, oder ein
.I fqdn
in Verbindung mit
.IR "ALIASDOMAIN UNTERBEFEHLEN" .
.\" --------------------------
.TP
.I fqdn
Der voll qualifizierten Domain\-Namen \(em ohne den abschließenden Punkt
\(em einer Domain oder Alias\-Domain.
.\" --------------------------
.TP
.I messages
Ein Integer\-Wert, der das maximal nutzbare Kontingent als Anzahl von
Nachrichten festlegt.
.br
Der Wert
.B 0
(null) bedeutet unbegrenzt \(em kein Quota\-Limit als Anzahl von
Nachrichten.
.\" --------------------------
.TP
.I option
ist der Name einer Konfigurationsoption mit vorangestellter
Konfigurations\-Sektion, getrennt durch einen Punkt.
Zum Beispiel:
.IB misc . transport
.br
Alle Konfigurationsoptionen werden in
.BR vmm.cfg (5)
beschrieben.
.\" --------------------------
.TP
.I service
Der Name eines Services, der gewöhnlicherweise in Verbindung mit Dovecot
genutzt wird.
Folgende Services werden unterstützt:
.BR imap ", " pop3 ", " sieve " und " smtp .
.\" --------------------------
.TP
.I storage
Bestimmt das maximal nutzbare Kontingent in Bytes.
Eines der folgenden Präfixe kann dem dem ganzzahligen Wert angehängt
werden:
.BR b " (Bytes), " k " (Kilobytes), " M " (Megabytes) oder " G
(Gigabytes).
.br
Der Wert
.B 0
(null) bedeutet unbegrenzt \(em kein Quota\-Limit in Bytes.
.\" --------------------------
.TP
.I transport
ein Transport für Postfix, angegeben in der Form:
.IB transport :
oder
.IB transport :\c
.IR nexthop .
Siehe
.BR transport (5)
für weitere Details.
.\" -----------------------------------------------------------------------
.SH ALLGEMEINE UNTERBEFEHLE
.SS configget (cg)
.BI "vmm configget" " option"
.PP
Dieser Unterbefehl wird verwendet, um den aktuellen Wert der übergebenen
.I option
anzuzeigen.
.PP
Beispiel:
.PP
.nf
.B vmm configget misc.crypt_sha512_rounds
misc.crypt_sha512_rounds = 5000
.fi
.\" --------------------------
.SS configset (cs)
.B vmm configset
.I option value
.PP
Verwenden Sie diesen Unterbefehl, um einer einzelnen Konfigurationsoption
einen neuen Wert zuzuweisen.
.I option
ist der Name der Konfigurationsoption,
.I value
ist der Wert, der der Konfigurationsoption zugewiesen wird.
.IP Hinweis:
Diese Unterbefehl erstellt eine neue
.IR vmm.cfg ,
ohne Kommentare.
Die aktuelle Konfigurationsdatei wird als
.IR vmm.cfg.bak
gesichert.
.PP
Beispiel:
.PP
.nf
.B vmm configget domain.transport
domain.transport = dovecot:
.B vmm configset domain.transport lmtp:unix:private/dovecot\-lmtp
.B vmm cg domain.transport
domain.transport = lmtp:unix:private/dovecot\-lmtp
.fi
.\" ------------------------------------
.SS configure (cf)
.B vmm configure
.RI [ section ]
.PP
Startet die interaktiven Konfiguration für alle Konfigurationssektionen.
.PP
Dabei wird der aktuell konfigurierte Wert einer jeden Option in eckigen
Klammern ausgegeben.
Sollte kein Wert konfiguriert sein, wird der Vorgabewert der jeweiligen
Option in in eckigen Klammern angezeigt.
Um den angezeigten Wert unverändert zu übernehmen, ist dieser mit der
Eingabe\-Taste zu bestätigen.
.PP
Wurde das optionale Argument
.I section
angegeben, werden nur die Optionen der angegebenen Sektion angezeigt und
können geändert werden.
Folgende Sektionen sind vorhanden:
.RS
.TP 10
.B account
Konto Einstellungen
.TP
.B bin
Pfade zu externen Binär\-Dateien
.TP
.B database
Datenbank Einstellungen
.TP
.B domain
Domain Einstellungen
.TP
.B mailbox
Mailbox Einstellungen
.TP
.B misc
Verschiedene Einstellungen
.RE
.PP
Die Konfigurationsoptionen werden in
.BR vmm.cfg (5)
beschrieben.
.IP Hinweis:
Diese Unterbefehl erstellt eine neue
.IR vmm.cfg ,
ohne Kommentare.
Die aktuelle Konfigurationsdatei wird als
.IR vmm.cfg.bak
gesichert.
.PP
Beispiel:
.PP
.nf
.B vmm configure mailbox
Konfigurationsdatei wird verwendet: /root/vmm.cfg
* Konfigurationsabschnitt: »mailbox«
Neuer Wert für Option folders [Drafts:Sent:Templates:Trash]:
Neuer Wert für Option format [maildir]: mdbox
Neuer Wert für Option subscribe [True]:
Neuer Wert für Option root [Maildir]: mdbox
.fi
.\" ------------------------------------
.SS getuser (gu)
.BI "vmm getuser" " uid"
.PP
Wenn nur der
.I uid
eines Benutzers vorhanden ist, zum Beispiel aus der Prozessliste, kann mit
dem Unterbefehl
.B getuser
die E\-Mail\-Adresse des Benutzers ermittelt werden.
.PP
Beispiel:
.PP
.nf
.B vmm getuser 79876
Konto Informationen
-------------------
UID............: 79876
GID............: 70704
Address........: a.user@example.com
.fi
.\" ------------------------------------
.SS help (h)
.B vmm help
.RI [ subcommand ]
.PP
Gibt ein Liste aller vorhandenen Unterbefehle mit einer kurzen Beschreibung
aus.
Wurde ein
.I subcommand
angegeben, wird Hilfe zu diesem Unterbefehl ausgegeben.
Danach wird
.B vmm
beendet.
.\" ------------------------------------
.SS listdomains (ld)
.B vmm listdomains
.RI [ pattern ]
.PP
Dieser Unterbefehl listet alle angelegten Domains auf.
Allen Domains wird ein Präfix vorangestellt.
Entweder ein `[+]', falls es sich um eine primäre Domain handelt, oder ein
`[-]', falls es sich um eine Alias\-Domain handelt.
Die Ausgabe kann reduziert werden, indem ein optionales Muster angegeben
wird.
.PP
Um eine Wildcard\-Suche durchzuführen kann das %\-Zeichen am Anfang
und/oder Ende des Musters verwendet werden.
.PP
Beispiel:
.PP
.nf
.B vmm listdomains %example%
Übereinstimmende Domains
------------------------
[+] example.com
[\-] e.g.example.com
[\-] example.name
[+] example.org
[+] sales.example.com
.fi
.\" ------------------------------------
.SS listpwschemes (lp)
.B vmm listpwschemes
.PP
Dieser Unterbefehl listet alle unterstützte Passwort\-Schemen, die als Wert
für
.I misc.password_scheme
in der
.I vmm.cfg
verwendet werden können.
Die Ausgabe variiert, je nach eingesetzter Dovecot Version und der libc des
Systems.
.br
Sollte Ihre Dovecot\-Installation nicht zu alt sein, werden zusätzlich
die verwendbaren Encoding\-Suffixe ausgegeben.
Eines dieser Suffixe kann an das Passwort-Schema angefügt werden.
.PP
Beispiel:
.PP
.nf
.B vmm listpwschemes
Verfügbare Passwort-Schemata
----------------------------
CRYPT SHA512-CRYPT LDAP-MD5 DIGEST-MD5 SHA256 SHA512 SSHA512
SKEY SSHA NTLM RPA MD5-CRYPT HMAC-MD5 SHA1 PLAIN SHA CRAM-MD5
SSHA256 MD5 LANMAN CLEARTEXT PLAIN-MD5 PLAIN-MD4 OTP SMD5
SHA256-CRYPT
Verwendbare Encoding-Suffixe
----------------------------
.B64 .BASE64 .HEX
.fi
.\" ------------------------------------
.SS version (v)
.B vmm version
.PP
Gibt Versions\- und Copyright\-Informationen zu
.B vmm
aus.
Danach wird
.B vmm
beendet.
.\" -----------------------------------------------------------------------
.SH DOMAIN UNTERBEFEHLE
.SS domainadd (da)
.B vmm domainadd
.IR fqdn " [" transport ]
.PP
Fügt eine neue Domain in die Datenbank ein und erstellt das
Domain\-Verzeichnis.
.PP
Wurde das optional Argument
.I transport
angegeben, ersetzt der angegebene Transport den konfigurierten Transport
.RI ( misc.transport ") aus " vmm.cfg .
Der angegebene
.I transport
ist der Vorgabe\-Transport für alle Konten, die dieser Domain zugeordnet
werden.
.PP
Konfigurationsbezogenes Verhalten:
.RS
.TP
.I domain.auto_postmaster
Wenn diese Option den Wert
.B true
(Vorgabe) hat, wird
.B vmm
nach erfolgreichem Anlegen der Domain auch das Konto für
.BI postmaster@ fqdn
erstellen.
.TP
.I account.random_password
Sollte dieser Option ebenfalls der Wert
.B true
zugewiesen sein, wird ein zufällig generiertes Passwort für den
Postmaster\-Account gesetzt und auf stdout ausgegeben.
.RE
.PP
Beispiele:
.PP
.nf
.B vmm domainadd support.example.com smtp:[mx1.example.com]:2025
Konto für postmaster@support.example.com wird angelegt
Neues Passwort eingeben:
Neues Passwort wiederholen:
.B vmm cs account.random_password true
.B vmm domainadd vertrieb.example.com
Konto für postmaster@vertrieb.example.com wird angelegt
Erzeugtes Passwort: YoG3Uw*5aH
.fi
.\" ------------------------------------
.SS domaindelete (dd)
.BI "vmm domaindelete " fqdn
.RB [ force ]
.PP
Dieser Unterbefehl löscht die Domain mit dem angegebenen
.IR fqdn .
.PP
Sollten der zu löschenden Domain Konten, Aliase und/oder Relocated User
zugeordnet sein, wird
.B vmm
die Ausführung des Befehls mit einer entsprechenden Fehlermeldung beenden.
Sollten Sie sich Ihres Vorhabens sicher sein, so kann optional das
Schlüsselwort
.B force
angegeben werden.
.PP
Sollten Sie wirklich immer wissen was Sie tun, so editieren Sie Ihre
.I vmm.cfg
und setzen den Wert der Option
.I domain.force_deletion
auf
.BR true .
Dann werden Sie zukünftig beim Löschen von Domains nicht mehr wegen
vorhanden Konten, Aliase und/oder Relocated User gewarnt.
.\" ------------------------------------
.SS domaininfo (di)
.B vmm domaininfo
.IR fqdn \ [ details ]
.PP
Dieser Unterbefehl zeigt Informationen zur Domain mit dem angegebenen
.I fqdn
an.
.PP
Um detaillierte Informationen über die Domain zu erhalten, kann das
optionale Argument
.I details
angegeben werden.
Ein möglicher Wert für
.I details
kann eines der folgenden fünf Schlüsselwörter sein:
.RS
.TP 13
.B accounts
um alle eingerichteten Konten aufzulisten
.TP
.B aliasdomains
um alle zugeordneten Alias\-Domains aufzulisten
.TP
.B aliases
um alle vorhandenen Alias\-Adressen aufzulisten
.TP
.B relocated
um alle Adressen der Relocated Users aufzulisten
.TP
.B full
um alle oben genannten Informationen aufzulisten
.RE
.PP
Beispiel:
.PP
.nf
.B vmm domaininfo sales.example.com
Domain Informationen
--------------------
Domain Name......: sales.example.com
GID..............: 70708
Domain Directory.: /srv/mail/c/70708
Quota Limit/User.: Storage: 500,00 MiB; Messages: 10.000
Active Services..: IMAP SIEVE
Transport........: lmtp:unix:private/dovecot-lmtp
Alias Domains....: 0
Accounts.........: 1
Aliases..........: 0
Relocated........: 0
.fi
.\" ------------------------------------
.SS domainquota (dq)
.B vmm domainquota
.IR "fqdn storage" " [" messages ]
.RB [ force ]
.PP
Dieser Unterbefehl wird verwendet, um für die Konten der Domain ein neues
Quota\-Limit festzulegen.
.PP
Standardmäßig gilt für Konten das Quota\-Limit der
.IR vmm.cfg " (" domain.quota_bytes " und " domain.quota_messages ).
Das neue Quota\-Limit wird für alle zukünftig angelegte Konten gelten.
Soll das neue Quota\-Limit auch auf bestehende Konten der Domain angewendet
werden, so ist das optionale Schlüsselwort
.B force
anzugeben.
.br
Wenn der Wert für das Argument
.I messages
ausgelassen wurde, wird der Vorgabewert
.B 0
(null) als Anzahl von Nachrichten angewendet werden.
.PP
Beispiel:
.PP
.nf
.B vmm domainquota example.com 1g force
.fi
.\" ------------------------------------
.SS domainservices (ds)
.B vmm domainservices
.IR fqdn " [" "service ..." ]
.RB [ force ]
.PP
Um festzulegen, welche Services für die Anwender der Domain \(em mit dem
angegebenen
.I fqdn
\(em nutzbar sein sollen, wird dieser Unterbefehl verwendet.
.PP
Der Zugriff auf alle genannten Services wird den Anwender gestattet.
Der Zugriff auf nicht genannte Services wird verweigert werden.
Verwendbare
.IR service \-Namen
sind:
.BR imap ", " pop3 ", " sieve " und " smtp .
.br
Wurde das Schlüsselwort
.B force
nicht angegeben, gelten die Service\-Einstellungen als Vorgabewert für neu
angelegte Konten in der Domain.
Andernfalls werden sie zusätzlich auf alle bestehenden Konten der Domain
angewandt werden.
.\" ------------------------------------
.SS domaintransport (dt)
.BI "vmm domaintransport" " fqdn transport"
.RB [ force ]
.PP
Ein neuer
.I transport
für die Domain mit dem angegebenen
.I fqdn
kann mit diesem Unterbefehl festgelegt werden.
.PP
Wurde das optionale Schlüsselwort
.B force
angegeben, so werden alle bisherigen Transport\-Einstellungen, der in
dieser Domain vorhandenen Konten, mit dem neuen
.I transport
überschrieben.
Andernfalls gilt der neue
.I transport
nur für Konten, die zukünftig erstellt werden.
.PP
Beispiel:
.PP
.nf
.B vmm domaintransport support.example.com dovecot:
.fi
.\" -----------------------------------------------------------------------
.SH ALIAS\-DOMAIN UNTERBEFEHLE
Eine Alias\-Domain ist ein Alias für eine Domain, die zuvor mit dem
Unterbefehl
.B domainadd
erstellt wurde.
Alle Konten, Aliase und Relocated Users der Domain sind ebenfalls unter der
Alias\-Domain verfügbar.
.br
Im Folgenden wird angenommen, example.net sei ein Alias für example.com.
.PP
Postfix wird nicht erst fälschlicherweise E\-Mails für
unbekannten.user@example.net annehmen und später an den \(em oftmals
gefälschten \(em Absender bouncen.
Postfix wird E\-Mails an unbekannte Empfänger sofort ablehnen.
.br
Dieses Verhalten ist sichergestellt, solange die empfohlenen
Datenbankabfragen in
.I $config_directory/pgsql\-*.cf
konfiguriert sind.
.\" ------------------------------------
.SS aliasdomainadd (ada)
.BI "vmm aliasdomainadd" " fqdn destination"
.PP
Dieser Unterbefehl legt die Alias\-Domain
.RI ( fqdn )
als Alias für eine bestehende Domain
.RI ( destination ") an."
.PP
Beispiel:
.PP
.nf
.B vmm aliasdomainadd example.net example.com
.fi
.\" ------------------------------------
.SS aliasdomaindelete (add)
.BI "vmm aliasdomaindelete" " fqdn"
.PP
Verwenden Sie diesen Unterbefehl, um die Alias\-Domain
.I fqdn
zu löschen.
.PP
Beispiel:
.PP
.nf
.B vmm aliasdomaindelete e.g.example.com
.fi
.\" ------------------------------------
.SS aliasdomaininfo (adi)
.BI "vmm aliasdomaininfo" " fqdn"
.PP
Dieser Unterbefehl gibt Informationen darüber aus, welcher Domain die
Alias\-Domain
.I fqdn
aktuell zugeordnet ist.
.PP
Beispiel:
.PP
.nf
.B vmm adi example.net
Alias\-Domain Informationen
--------------------------
Die Alias\-Domain example.net gehört zu:
* example.com
.fi
.\" ------------------------------------
.SS aliasdomainswitch (ads)
.BI "vmm aliasdomainswitch" " fqdn destination"
.PP
Wenn Sie die bereits vorhandene Alias\-Domain
.I fqdn
einer anderen Ziel\-Domain zuordnen wollen, verwenden Sie diesen
Unterbefehl.
.PP
Beispiel:
.PP
.nf
.B vmm aliasdomainswitch example.net example.org
.fi
.\" -----------------------------------------------------------------------
.SH KONTO UNTERBEFEHLE
.SS useradd (ua)
.B vmm useradd
.IR address " [" password ]
.PP
Mit diesem Unterbefehl wird ein neues Konto für die angegebene Adresse
angelegt.
.PP
Wurde kein Passwort angegeben wird
.B vmm
dieses im interaktiven Modus erfragen.
Falls kein Passwort angegeben wurde und
.I account.random_password
den Wert
.B true
hat, wird
.B vmm
ein zufälliges Passwort generieren und auf stdout ausgeben, nachdem das
Konto angelegt wurde.
.PP
Beispiele:
.PP
.nf
.B vmm ua d.user@example.com \(dqA 5ecR3t P4s5\(rs/\(rs/0rd\(dq
.B vmm useradd e.user@example.com
Neues Passwort eingeben:
Neues Passwort wiederholen:
.fi
.\" ------------------------------------
.SS userdelete (ud)
.BI "vmm userdelete" " address"
.RB [ force ]
.PP
Verwenden Sie diesen Unterbefehl, um das Konto mit der angegebenen Adresse
zu löschen.
.PP
Sollte es einen oder mehrere Aliase geben, deren Ziel\-Adresse mit der
Adresse des zu löschenden Kontos identisch ist, wird
.B vmm
die Ausführung des Befehls mit einer entsprechenden Fehlermeldung beenden.
Um dieses zu umgehen, kann das optionale Schlüsselwort
.B force
angegebenen werden.
.\" ------------------------------------
.SS userinfo (ui)
.B "vmm userinfo"
.IR address " [" details ]
.PP
Dieser Unterbefehl zeigt einige Informationen über das Konto mit der
angegebenen Adresse an.
.PP
Wurde das optionale Argument
.I details
angegeben, werden weitere Informationen ausgegeben.
Mögliche Werte für
.I details
sind:
.RS
.TP 8
.B aliases
um alle Alias\-Adressen, mit dem Ziel
.IR address ,
aufzulisten
.TP
.B du
um zusätzlich die Festplattenbelegung des Mail\-Verzeichnisses eines Kontos
anzuzeigen.
Soll die Festplattenbelegung jedes Mal mit der
.B userinfo
ermittelt werden, ist in der
.I vmm.cfg
der Wert der Option
.I account.disk_usage
auf
.B true
zu setzen.
.TP
.B full
um alle oben genannten Informationen anzuzeigen
.RE
.PP
Beispiel:
.PP
.nf
.B vmm userinfo d.user@example.com
Konto Informationen
-------------------
Address..........: d.user@example.com
Name.............: None
UID..............: 79881
GID..............: 70704
Home.............: /srv/mail/2/70704/79881
Mail_Location....: mdbox:~/mdbox
Quota Storage....: [ 0,00%] 0/500,00 MiB
Quota Messages...: [ 0,00%] 0/10.000
Transport........: lmtp:unix:private/dovecot-lmtp
SMTP.............: deaktiviert
POP3.............: deaktiviert
IMAP.............: aktiviert
SIEVE............: aktiviert
.fi
.\" ------------------------------------
.SS username (un)
.BI "vmm username" " address name"
.PP
Der Bürgerliche Name des Kontoinhabers mit der angegebenen Adresse kann mit
diesem Unterbefehl gesetzt/aktualisiert werden.
.PP
Beispiel:
.PP
.nf
.B vmm username d.user@example.com \(dqJohn Doe\(dq
.fi
.\" ------------------------------------
.SS userpassword (up)
.BI "vmm userpassword" " address"
.RI [ password ]
.PP
Das Passwort eines Kontos kann mit diesem Unterbefehl aktualisiert werden.
.PP
Wurde kein Passwort angegeben, wird
.B vmm
dieses im interaktiven Modus erfragen.
.PP
Beispiel:
.PP
.nf
.B vmm up d.user@example.com \(dqA |\(rs/|0r3 5ecur3 P4s5\(rs/\(rs/0rd?\(dq
.fi
.\" ------------------------------------
.SS userquota (uq)
.BI "vmm userquota" " address storage"
.RI [ messages ]
.PP
Um ein neues Quota\-Limit für das Konto mit der angegebenen Adresse
festzulegen, wird dieser Unterbefehl verwendet.
.PP
Wenn der Wert für das Argument
.I messages
ausgelassen wurde, wird der Vorgabewert
.B 0
(null) als Anzahl von Nachrichten angewendet werden.
.PP
Beispiel:
.PP
.nf
.B vmm userquota d.user@example.com 750m
.fi
.\" ------------------------------------
.SS userservices (us)
.B vmm userservices
.IR address " [" "service ..." ]
.PP
Verwenden Sie diesen Unterbefehl, um einem Anwender den Zugriff auf die
genannten Services zu gestatten.
.PP
Der Zugriff auf alle nicht genannten Services wird dem Anwender, mit der
angegebenen Adresse, verwehrt werden.
.\" ------------------------------------
.SS usertransport (ut)
.BI "vmm usertransport" " address transport"
.PP
Mit diesem Unterbefehl kann ein abweichender
.I transport
für das Konto mit der angegebenen Adresse bestimmt werden.
.PP
Beispiel:
.br
Angenommen, Sie wollen mit Dovecots
.BR dsync (1)
die E\-Mails vom Maildir\-Format ins mdbox\-Format konvertieren, dann
können Sie Postfix, über den Transport, darüber informieren, es später
nochmals zu versuchen.
.PP
.nf
.B vmm ut d.user@example.com \(dqretry:4.0.0 Mailbox being migrated\(dq
# Konvertieren der Mailbox …
# … danach den Transport auf Dovecots lmtp setzen
.B vmm usertransport d.user@example.com lmtp:unix:private/dovecot\-lmtp
.fi
.\" -----------------------------------------------------------------------
.SH ALIAS UNTERBEFEHLE
.SS aliasadd (aa)
.BI "vmm aliasadd" " address destination ..."
.PP
Mit diesem Unterbefehl werden neue Alias\-Adressen, mit einer oder mehren
.IR destination (en),
erstellt.
.PP
Innerhalb der Zieladresse werden die Zeichenketten
.IR %n ,
.IR %d
und
.IR %=
durch den ursprünglichen lokalen Teil, die Domain bzw. die Emailadresse mit
'=' anstelle von '@' ersetzt. Dies ermöglicht z.B. in Verbindung mit
Alias-Domains domain-spezifische Empfänger.
.PP
Beispiele:
.PP
.nf
.B vmm aliasadd john.doe@example.com d.user@example.com
.B vmm aa support@example.com d.user@example.com e.user@example.com
.B vmm aa postmaster@example.com postmaster+%d@example.org
.fi
.\" ------------------------------------
.SS aliasdelete (ad)
.BI "vmm aliasdelete" " address"
.RI [ destination ]
.PP
Verwenden Sie diesen Unterbefehl um den Alias mit der angegebenen Adresse
zu löschen.
.PP
Wurde eine optionale
.I destination
angegeben, so wird nur diese
.I destination
vom angegebenen Alias entfernt.
.PP
Beispiel:
.PP
.nf
.B vmm aliasdelete support@example.com d.user@example.com
.fi
.\" ------------------------------------
.SS aliasinfo (ai)
.BI "vmm aliasinfo" " address"
.PP
Informationen zum Alias mit der angegebenen Adresse können mit diesem
Unterbefehl ausgegeben werden.
.PP
Beispiel:
.PP
.nf
.B vmm aliasinfo support@example.com
Alias Informationen
-------------------
E\-Mails für support@example.com werden weitergeleitet an:
* e.user@example.com
.fi
.\" -----------------------------------------------------------------------
.SH RELOCATED UNTERBEFEHLE
.SS relocatedadd (ra)
.BI "vmm relocatedadd" " address newaddress"
.PP
Um einen neuen Relocated User anzulegen kann dieser Unterbefehl verwendet
werden.
.PP
Dabei ist
.I address
die ehemalige Adresse des Benutzers, zum Beispiel b.nutzer@example.com, und
.I newaddress
die neue Adresse, unter der die/der Benutzer/in erreichbar ist.
.PP
Beispiel:
.PP
.nf
.B vmm relocatedadd b.nutzer@example.com b\-nutzer@firma.tld
.fi
.\" ------------------------------------
.SS relocatedinfo (ri)
.BI "vmm relocatedinfo " address
.PP
Dieser Unterbefehl zeigt die neue Adresse des Relocated Users mit mit der
angegebenen Adresse.
.PP
Beispiel:
.PP
.nf
.B vmm relocatedinfo b.nutzer@example.com
Verschiebe\-Informationen
------------------------
Der Benutzer »b.nutzer@example.com« wurde nach »b\-nutzer@firma.tld« verschoben
.fi
.\" ------------------------------------
.SS relocateddelete (rd)
.BI "vmm relocateddelete " address
.PP
Mit diesem Unterbefehl kann der Relocated User mit der angegebenen Adresse
gelöscht werden.
.PP
Beispiel:
.PP
.nf
.B vmm relocateddelete b.nutzer@example.com
.fi
.\" -----------------------------------------------------------------------
.SH CATCH-ALL UNTERBEFEHLE
.SS catchalladd (caa)
.BI "vmm catchalladd" " domain destination ..."
.PP
Mit diesem Unterbefehl können für eine Domain Adressen definiert werden, an
die E-mails geleitet werden, die an nicht-existente Adressen innerhalb dieser
Domains adressiert sind. Diese Adressen \"fangen alle\" diese E-mails auf, es
sei denn es bestehen spezifischere Aliase, Mailboxes oder Relocated-Einträge.
.PP
WARNUNG: Catch-all Adressen können dazu führen, daß ein Mailserver von Spam
überflutet wird, da Spammer zuweilen gerne alle möglichen Emailadressen
ausprobieren und man auf einmal zig tausend Nachrichten gerichtet an Adressen
von abba@example.org bis zztop@example.org weitergeleitet bekommt.
.PP
Beispiel:
.PP
.nf
.B vmm catchalladd example.com b.nutzer@example.org
.fi
.\" ------------------------------------
.SS catchallinfo (cai)
.BI "vmm catchallinfo " domain
.PP
Dieser Unterbefehl zeigt die für eine Domain definierten Catch-All Aliase an.
.PP
Beispiel:
.PP
.nf
.B vmm catchallinfo example.com
Catch-all Informationen
-----------------------
Nachrichten an unbekannte Adressen innerhalb der example.com Domäne werden
weitergeleitet an:
* b.nutzer@example.org
.fi
.\" ------------------------------------
.SS catchalldelete (cadd)
.BI "vmm catchalldelete " domain
.RI [ destination ]
.PP
Mit diesem Unterbefehl werden Catch-All Aliase einer Domain wieder gelöscht,
entweder nur das angegebene Alias, oder alle, wenn keines angegeben wurde.
.PP
Beispiel:
.PP
.nf
.B vmm catchalldelete example.com b.nutzer@example.org
.fi
.\" -----------------------------------------------------------------------
.SH DATEIEN
.TP
.I /root/vmm.cfg
Wird verwendet, falls vorhanden.
.TP
.I /usr/local/etc/vmm.cfg
Wird verwendet, sollte obige Datei nicht gefunden werden.
.TP
.I /etc/vmm.cfg
Wird verwendet, falls die oben genannten Dateien nicht existieren.
.\" -----------------------------------------------------------------------
.SH SIEHE AUCH
.BR dsync (1),
.BR transport (5),
.BR vmm.cfg (5)
.\" -----------------------------------------------------------------------
.SH INTERNET RESSOURCEN
.TP
Wiki
http://de.vmm.localdomain.org/
.TP
Projekt\-Seite
http://sf.net/projects/vmm/
.TP
Bugtracker
https://bitbucket.org/pvo/vmm/issues
.\" -----------------------------------------------------------------------
.SH COPYING
vmm und die dazugehörigen Manualseiten wurden von Pascal Volk <user+vmm AT
localhost.localdomain.org> geschrieben und sind unter den Bedingungen der
BSD Lizenz lizenziert.