Generalidades
A continuación se describe cómo crear una secuencia de comandos y un cron job que te envíe correos rechazados desde el servidor.
Antecedentes
Cuando se envía un correo desde tu servidor web y luego se bloquea o rechaza, se almacena en el siguiente directorio:
/home/username/Maildir/new
Para ver los correos bloqueados o rechazados, debes iniciar sesión manualmente en tu servidor y verificar este directorio. Una opción más simple es crear un cron job que active un script de shell. El script luego le dice al servidor que te envíe por correo cualquier correo bloqueado o rechazado cuando ocurra.
Para obtener más información sobre correos bloqueados o rechazados, consulta el siguiente artículo:
Crear el script de shell
- Inicia sesión en tu servidor a través de SSH.
- Asegúrate de estar en el directorio principal de tu usuario:
[server]$ cd ~ [server]$ pwd /home/username
- Crea un nuevo archivo por medio de SSH, y luego nombrarlo algo así como mailrejections.sh.
- Agrega el siguiente código a este archivo:
- Solo necesitas cambiar los campos resaltados.
- Puedes cambiar el mensaje a lo que quieras.
#!/bin/bash #Check ~/Maildir/new for any files created within the last 15 min files=$(find ~/Maildir/new -type f -mmin -15) for emailFileName in $files; do #open each email individually and assign to new variable emailContent=$(cat $emailFileName)
printf '%s\n' "${emailContent[*]}" | mail -s "These emails were rejected" admin@example.com done
exit 0 - Asegúrate de cambiar el correo a la dirección de la que deseas recibir estas notificaciones.
Crear el cron job
Después de crear el script, debes crear un nuevo cron job para que se ejecute cada 15 minutos. El cron job luego ejecuta el archivo que acabas de crear.
- Crea un nuevo cron job en tu panel:
- Asegúrate de ajustar el nombre de usuario al usuario de Shell correcto para el que creaste el script.
- Da clic en el menú desplegable Cuando correr: y selecciona Personalizado
- Selecciona 'Cada 15 minutos' para el marco de tiempo.
Puedes cambiar el período de tiempo a lo que desees, pero solo asegúrate de actualizar el mismo período de tiempo en tu secuencia de comandos para que coincida.
- Haz clic en el botón Añadir para guardar.
El cron job ejecuta tu script cada 15 minutos. Si se rechaza un correo, se envía una copia a la dirección que especificó en el script.