Oft ist es notwendig eine große Anzahl von E-Mail-Adressen bzw. Postfächer in Plesk anzulegen. Dies kann bei vielen E-Mail-Adressen schnell frustrierend werden. Wer nicht ständig die gleichen Mouse-Bewegungen ausführen möchte sollte sich diesen Artikel anschauen.
Plesk bietet uns die Möglichkeit viele Einstellungen auch per Konsole vorzunehmen. Eine davon ist das Anlegen, das Modifizieren und das Löschen von Postfächern. Voraussetzung ist natürlich wieder root-Zugriff per Konsole auf das System.
Der für uns relevante Befehl ist mail im Plesk-Installationsverzeichnis. Dies ist bei einem Centos folgender.
/usr/local/psa/bin/mail
Wenn man den Befehl mit dem Parameter –help aufruft erscheint die entsprechende Hilfe und alle weiteren Parameter werden ausführlich erklärt.
Usage: mail command <mail_name> [options] Available commands: --create or -c <mail>@<domain> creates mail account --update or -u <mail>@<domain> updates mail account parameters --remove or -r <mail>@<domain> removes mail account --info or -i <mail>@<domain> retrieves mail account information --on <domain> enables mail service for domain --off <domain> disables mail service for domain --update-service <domain> Update mail service for domain --rename <mail>@<domain> Rename mail --help or -h displays this help page Available options: -manage-virusfilter <true|false> allows or prohibits managing antivirus -manage-spamfilter <true|false> allows or prohibits managing spam filter -mailbox <true|false> creates/removes mailbox -passwd <passwd> sets mailbox password [see the note below for details] -boxpass <passwd> obsolete alias for option "passwd" (this option may be removed from future releases) -passwd_type <plain|encrypted> specifies the type of mailbox password, ignored if no password specified [see the note below for details] -mbox_quota <number>[B|K|M|G] limits the mailbox quota to the desired amount in bytes ("-1" - Default quota for domain) -boxquota <number>[B|K|M|G] obsolete alias for option "mbox_quota" (this option may be removed from future releases) -aliases <add|del>:<name1[,name2]> adds or deletes mail alias(es) to/from mailname -mgroups <add|del>:<list1[,list2]> adds or removes mail name to/from mail group -forwarding <true|false> switches mail forwarding on/off -forwarding-addresses <add|del>:<addr1[,addr2]> adds/removes address(-es) to/from forwarding list -status <enabled|disabled|admin,domadm,parent,client> Enables or disables status for domain mail service -new <mail> Specifies new email -cp-access <true|false> allows or prohibits logging to control panel as user -description <string> Specifies a description of an email address to be displayed in Plesk. -antivirus <off|inout|in|out> manages antivirus filtering for mail traffic. "Off" disables antivirus filtering, "Inout" enables it for mail traffic going in any direction, "In" enables it for incoming mail only, and "Out" for outgoing mail only. -outgoing-messages-mbox-limit <number|default> Sets the limit on outgoing messages from a mailbox (per hour). To set the Unlimited value, specify "-1". Specify "default" to set the value specified in server-wide settings.
E-Mail-Adressen per Konsole anlegen mit Plesk
Wie wir aus der Hilfe entnehmen können benötigen wir die Parameter –create für das Erstellen eines Postfaches, den Parameter -passwd für das Passwort. Um ein richtiges Postfach zu erstellen müssen wir -mailbox auf true setzen. Soll der Postfachbenutzer sich in das Plesk-Panel einloggen können um z.B. sein Emailpasswort selbstständig zu ändern ist der Parameter -cp-access true nötig.
So sieht das ganze dann vollständig aus.
/usr/local/psa/bin/mail --create email@domain.tld -passwd geheim -cp-access true -mailbox true
Plesk – E-Mail-Adressen automatisiert anlegen
Nun können wir den genannten Befehlt verwenden um eine große Menge Mail-Adressen mit einem Schwung per Script anzulegen.
Dazu erstellen wir eine Datei addemail.txt
vim addemail.txt
und füllen diese zeilenweise mit allen neu anzulegenden E-Mail-Adressen.
email01@domain01.tld email02@domain01.tld email03@domain01.tld email01@domain02.tld email01@domain03.tld email02@domain03.tld
Voraussetzung ist natürlich, dass die Domain bzw. das Abonnements unter denen die Postfächer angelegt werden sollen bereits in Plesk angelegt sind.
Dann erstellen wir eine weitere Datei im gleichen Verzeichnis für unser Script.
vim addemail.sh
Dort fügen wir folgenden Inhalt ein:
#!/bin/bash for MAIL in $(cat addemail.txt) do PW=$(openssl rand -base64 12) echo $MAIL $PW /usr/local/psa/bin/mail --create $MAIL -passwd $PW -cp-access true -mailbox true done
Das Script liest nun die Datei addemail.txt ein und erstellt für jede unserer E-Mail-Adressen ein Postfach. Es wird zusätzlich ein Passwort mit 12 Stellen erzeugt und dem Postfach hinterlegt und auch auf der Konsole ausgegeben.
Anschliessen machen wir diese Datei noch ausführbar.
chmod +x ./addemail.sh
Nun können wir diese ausführen.
./addemail.sh
Das Script kann man nun noch beliebig erweitern. z.B. kann man die Passwörter in eine extra Datei oder hinter die E-Mail-Adressen schreiben lassen.
Wie man nun die vergebenen Passwörter auch wieder auslesen kann steht in dem Artikel Plesk – E-Mail Passwörter auslesen.
Weitere Informationen findet man in der Dokumentation zu Plesk.
Hallo,
Anleitung klappt echt super.
Kann man einer E-Mail Adresse noch eine beliebige Beschreibung mit geben?
email01@domain01.tld Gruppe1
email02@domain01.tld Gruppe2
email03@domain01.tld Gruppe1
email01@domain02.tld Gruppe4
email01@domain03.tld Gruppe4
email02@domain03.tld Gruppe1
So in etwas?