Poesía Binaria

Crear múltiples direcciones de correo desde el CLI de Plesk

Muchos usuarios disponen de un panel de control Plesk. Que, aunque no es libre, hoy vamos a hablar de él. Dicho panel de control, proporciona una forma sencilla de gestionar dominios, páginas web y servicios asociados, como el correo, desde su interfaz web. Lo que puede que no sea tan conocido es que dispone de una serie de herramientas en línea de comandos que nos pueden hacer la vida mucho más fácil.

Para utilizar estos consejos, es necesario tener acceso SSH a nuestro servidor.

Crear una dirección de e-mail

Para crear una dirección de correo con su buzón y todo, podemos utilizar la siguiente orden:

plesk bin mail -c email@dominio

Podemos crear una dirección de correo para cualquier dominio que tengamos administrado en nuestro servidor. Y también podemos especificar algunos parámetros en su creación como:

Hay alguna opción más dependiendo de la versión de Plesk, como especificar grupos de correo, alias, etc. Podemos obtener el listado completo de opciones con el argumento –help. Por lo que finalmente podemos tener algo como esto:

plesk bin mail -c yo@midominio.com -mailbox true -passwd ‘D[8NoBj#3f’ -mbox_quota 5G -description ‘Mail principal’ -outgoing-messages-mbox-limit 150

Puede parecer algo complicado, aunque lo realmente bueno viene dentro de algunas líneas.

Modificar o Eliminar correos

Desde aquí también podemos modificar direcciones de correo, con las mismas opciones que antes, pero con el argumento -u. Por ejemplo, para cambiar una contraseña podemos:

plesk bin mail -u yo@midominio.com -passwd ‘clavesencilla’

Y si finalmente queremos eliminar el correo,

plesk bin mail -r yo@midominio.com

Crear múltiples direcciones de correo

Si queremos crear múltiples direcciones de correo, y esto es lo bueno, no tenemos que andar con la interfaz web, dirección a dirección. Basta con crear un bucle en Bash y llamar a la orden anterior múltiples veces.
Esto puede pasar cuando necesitemos migrar direcciones de correo de un servidor a otro, puede que unas pocas direcciones sean fáciles de crear en la interfaz web, pero cuando hablamos de decenas, o cientos, nos compensa más invertir un poco de tiempo en un pequeño script y ejecutarlo, y las tendremos todas generadas.
Podemos hacerlo de forma muy sencilla, desde la propia línea de comandos:

1
2
3
for direccion in info persona1 persona2 persona3; do
  plesk bin mail -c $direccion@midominio.com -mbox_quota 5G -passwd 'ClaveFacil'
done

Con esto crearemos los e-mails info@midominio.com , persona1@midominio.com , persona2@midominio.com y persona3@midominio.com con la misma cuota de buzón de correo y la misma contraseña.

Aunque si queremos, podemos ir un paso más allá, creando un fichero de texto (direcciones.list) donde guardamos todos los nombres de usuario, uno por línea, pueden ser cientos o miles (ya será la capacidad de nuestro servidor el límite).

Tras eso creamos el siguiente script:

1
2
3
4
5
6
7
8
#!/bin/bash
while IFS= read -r line
do
  password=$(pwgen -1 -y 12)
  email="$line@midominio.com"
  plesk bin mail -c "$email" -mbox_quota 5G -passwd "$password" -mailbox true -antivirus inout
  echo "$email:$password" >> passwords
done < direcciones.list

De esta manera podremos configurar un montón de direcciones de correo con las mismas características. Incluso de dominios diferentes si introducimos el dominio en el archivo direcciones.list y lo eliminamos de la variable $email. Las contraseñas, como vemos, las genero con la herramienta pwgen, aunque también podemos dejarlas fijas o utilizar cualquier otro método de generación de contraseñas.

Por otro lado, si ahora queremos modificar la cuota de espacio en disco de múltiples correos a la vez podremos:

1
2
3
4
5
6
#!/bin/bash
while IFS= read -r line
do
  email="$line@midominio.com"
  plesk bin mail -u "$email" -mbox_quota 2G
done < direcciones.list

Incluso utilizar el modificador -r para eliminar varias direcciones de correo a la vez.

Por cierto, es buena idea, una vez que tengamos los correos generados en el sistema, guardar en lugar seguro el fichero de contraseñas, al menos hasta que hayamos asignado las contraseñas a cada uno de los usuarios y en ese momento eliminarlo permanentemente.

Foto principal: unsplash-logoCarol Jeng

¿Necesitas un sysadmin?

Si te ha gustado el post y encuentras interesante lo que cuento en materia de sistemas. O si necesitas gestionar un servidor (o muchos), automatizar procesos o mejorar la calidad de los procesos actuales. No dudes en ponerte en contacto conmigo.

También podría interesarte....