Hsadmin-mail
E-Mail-Adressen mit hsadmin verwalten.
Zur Zeit nur die Bedienung per Kommandozeile freigeschaltet. Das Kommandozeilen-Programm ist dabei identisch mit dem für UNIX-User.
WICHTIG
1. Die Konfigurationsdateien etc/virtusertable in den Paketen sind damit außer Betrieb und wurden bereits gelöscht.
2. E-Mail-Adressen mit Umlauten (außer in der Domain, wo die IDN-Kodierung verwendet wird) sind derzeit noch nicht zulässig, und wurden NICHT übernommen.
Verwendung von hsadmin-mail
Diese Funktion dient der Einrichtung von E-Mail-Aliasen und Weiterleitungen. Anders als bei der Datei aliases, werden hier Emails an bestimmte Email-Adressen weitergeleitet, während aliases Emails an Mailboxen weiterleitet. Hier handelt es sich also um die Einrichtung von virtuellen Benutzern, d.h. dass die dort hinterlegten Adressen nicht notwendigerweise auch einen Unix-Acccount auf dem Server besitzen müssen. Nur so lassen sich überhaupt sinnvoll Adressen auf einem Server mit vielen Domains vergeben, da es z.B. nur einen Unix-User xyz00-webmaster geben könnte, der aber Ziel der webmaster@...-Adressen mehrerer Domins sein kann.
Die Zieladresse einer mit hsadmin-mail eingerichteten Weiterleitung (target) muss natürlich ein Account mit einem funktionierenden Mailabruf sein. Dies kann nicht nur ein lokal eingerichteter POP3- oder IMAP-User sein, sondern auch eine Adresse bei einem anderen Provider.
Möchte man den E-Mail-Verkehr einer Domain nicht über die normalen Hostsharing-Mailserver sondern über einen anderen Server abwickeln, so darf keine einzige Mailadresse für diese Domain eingerichtet sein! Dadurch wird diese Domain nicht mehr als "lokal" betrachtet, sondern z.B. per SMTP eingelieferte E-Mails an Adressen dieser Domain werden an die laut Zonefile zuständigen Mailserver weiterschickt.
Alle vorhandenen E-Mail-Adressen auflisten
hsadmin -c emailaddress.search
Die Datenfelder localpart, subdomain, domain und target mit ":" getrennt zeilenweise ausgeben:
hsadmin -c emailaddress.search \ -d '${localpart}:${subdomain}:${domain}:${target}\n'
Alle vorhandenen E-Mail-Adressen zu einer Domain auflisten
hsadmin -c emailaddress.search -w domain.name=example.de -d '${id}:${localpart}@${subdomain}.${domain}:${target}\n'
(alles in einer Zeile)
Dann erhälst du eine Liste der eMail Adressen der example.de Domain
ZAHL:muster@.example.de:user_01, user_02
wobei ZAHL z.b. 4711 ist. der . nach dem @ ist bei keiner subdomain nur ein Anzeige Unschönheit.
Eine E-Mail-Adresse hinzufügen
hsadmin --call:emailaddress.add \ --set:localpart=test \ --set:domain=example.com \ --set:target=xyz00-test
Hierbei habe ich zur Abwechslung die Langform der Optionen verwendet.
Das Ziel einer E-Mail-Adresse ändern:
hsadmin -c emailaddress.update -s target=test@example.org \ test@example.com
Eine E-Mail-Adresse löschen:
hsadmin -c emailaddress.delete test@example.com
Zu unterscheiden ist, ob eine Subdomain separat aufgeschaltet wurde, dann wird sie bei der Domain mit angegeben, oder ob sie nicht separat aufgeschaltet wurden, dann muss sie als Subdomain angegeben werden. Für E-Mail-Adressen der aufgeschalteten Domains wird die Subdomain nicht angegeben.
Es gelten des weiteren dieselben Hinweise bezüglich des Login wie vor einigen Tagen für die UNIX-User.
Einige Beispiele
Beschreibung | domain | localpart | target |
---|---|---|---|
Alle Mails an @example.com an gleichnamige Adressen auf example.org weiterleiten | example.com | @example.com | @example.org |
Mails für name1@example.com an eine andere Adresse weiterleiten | example.com | name1@example.com | xyz@example.org |
Mails an name1@example.com an mehrere andere Adressen weiterleiten | example.com | name1@example.com | xyz1@example.org,xyz2@example.org |
Alle anderen eingehenden Mails an nicht definierte Adressen der Domain example.com an eine bestimmte Adresse weiterleiten ("catch-all") | example.com | @example.com | xyz@example.org |
Mehrere Aliases an die Mailbox (POP3, IMAP) eines lokalen Benutzer weiterleiten: | example.com | name3@example.com | xyz00-hans |
example.com | name4@example.com | xyz00-hans | |
Mails an name6@example.com auf dem Server löschen (nach /dev/null umleiten) | example.com | name6@example.com | nobody |