Creazione automatica di caselle email in Plesk tramite SSH

Introduzione

Quando si devono creare molte caselle email su un dominio gestito da Plesk, farlo manualmente dal pannello può richiedere molto tempo.
Questa guida spiega passo dopo passo come automatizzare il processo tramite SSH utilizzando uno script Bash.
Seguendo le istruzioni potrai generare tutte le caselle in pochi minuti, con password sicure e un file CSV finale che contiene le credenziali.

1. Requisiti

Prima di iniziare assicurati di avere:

  • Accesso SSH come utente root al server Plesk.

  • Il binario plesk installato nel percorso /usr/sbin/plesk.

  • Una lista di indirizzi email da creare (ad esempio info@tuodominio.it, vendite@tuodominio.it, ecc.).

2. Accesso al server

Apri il terminale e connettiti al tuo server:

ssh root@IP_DEL_TUO_SERVER

Dopo l’accesso, controlla che Plesk sia raggiungibile:

/usr/sbin/plesk version

Se viene mostrata la versione di Plesk, puoi procedere.

3. Creazione dello script

Crea un nuovo file nella cartella root:

nano /root/crea_email.sh

Incolla al suo interno questo script:

#!/bin/bash
# Script per creare automaticamente caselle email in Plesk.
# Ogni casella avrà una quota di 2 GB e una password sicura generata automaticamente.
# Le credenziali saranno salvate in /root/credenziali_email.csv

DOMINIO="tuodominio.it"
QUOTA_MB=2048
OUTPUT_FILE="/root/credenziali_email.csv"
LOG_FILE="/root/crea_email.log"
PLESK_BIN="/usr/sbin/plesk"

EMAILS=(
info@$DOMINIO
vendite@$DOMINIO
assistenza@$DOMINIO
)

generate_password() {
  LC_ALL=C tr -dc 'A-Za-z0-9@#%*+=' </dev/urandom | head -c 12
}

> "$OUTPUT_FILE"
echo "Email;Password" >> "$OUTPUT_FILE"
> "$LOG_FILE"

for email in "${EMAILS[@]}"; do
  password="$(generate_password)"
  if "$PLESK_BIN" bin mail --create "$email" -passwd "$password" -mailbox true -mbox_quota ${QUOTA_MB}M >/dev/null 2>>"$LOG_FILE"; then
    echo "$email;$password" >> "$OUTPUT_FILE"
    echo "$(date '+%F %T') - OK - $email" >> "$LOG_FILE"
  else
    echo "$(date '+%F %T') - ERRORE - $email" >> "$LOG_FILE"
  fi
done

chmod 600 "$OUTPUT_FILE"
chmod 600 "$LOG_FILE"
echo "Operazione completata. Credenziali salvate in $OUTPUT_FILE"

Salva con CTRL + O, poi Invio, ed esci con CTRL + X.

4. Impostazione dei permessi

Rendi lo script eseguibile:

chmod +x /root/crea_email.sh 

5. Esecuzione dello script

Avvia la creazione automatica:

/root/crea_email.sh

Durante l’esecuzione verranno create tutte le caselle email e le credenziali verranno registrate nel file /root/credenziali_email.csv.

6. Verifica dei risultati

Controlla che il file CSV sia stato generato correttamente:

head -n 10 /root/credenziali_email.csv

E visualizza le ultime righe del log:

tail -n 20 /root/crea_email.log

7. Download del file CSV

Per scaricare il file con le credenziali:

  1. Spostalo temporaneamente nella cartella pubblica del dominio:

    mv /root/credenziali_email.csv /var/www/vhosts/tuodominio.it/httpdocs/ chmod 644 /var/www/vhosts/tuodominio.it/httpdocs/credenziali_email.csv
  2. Apri il browser e visita:

    https://tuodominio.it/credenziali_email.csv
  3. Dopo averlo scaricato, elimina subito il file per sicurezza:

    rm -f /var/www/vhosts/tuodominio.it/httpdocs/credenziali_email.csv

8. Sicurezza e manutenzione

  • Conserva il file credenziali_email.csv solo in locale e in modo protetto.

  • Cancella lo script e il log dopo aver completato la procedura:

    rm -f /root/crea_email.sh /root/crea_email.log
  • Non lasciare mai file di credenziali accessibili tramite il web.

9. Personalizzazione

Puoi modificare facilmente:

  • Il dominio da gestire cambiando la riga:

    DOMINIO="tuodominio.it"
  • La quota di spazio per ogni casella modificando:

    QUOTA_MB=2048
  • L’elenco delle caselle da creare aggiungendo o rimuovendo voci nella sezione EMAILS=().

Seguendo questa guida potrai creare rapidamente più caselle email in Plesk, risparmiando tempo e garantendo password forti e sicure.
È una procedura ideale per amministratori di sistema o aziende che gestiscono domini multipli e vogliono automatizzare la configurazione iniziale della posta elettronica.

Hai trovato utile quest'articolo?