¿Cómo crear un script que te envíe correos electrónicos rechazados?

Generalidades

A continuación se describe cómo crear una secuencia de comandos y un trabajo cron que te envíe correos electrónicos rechazados desde el servidor.

Antecedentes

Cuando se envía un correo electrónico desde tu servidor web y luego se bloquea o rechaza, se almacena en el siguiente directorio:

/home/username/Maildir/new

Para ver los correos electrónicos 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 electrónico cualquier correo electrónico bloqueado o rechazado cuando ocurra.

Para obtener más información sobre correos electrónicos bloqueados o rechazados, consulta el siguiente artículo:

Crear el script de shell

  1. Inicia sesión en tu servidor a través de SSH.
  2. Asegúrate de estar en el directorio de inicio de tu usuario:
    [server]$ pwd
    /home/username
  3. Crea un nuevo archivo por medio de SSH, y luego nombrarlo algo así como mailrejections.sh.
  4. 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
  5. Asegúrate de cambiar el correo electrónico a la dirección de la que deseas recibir estas notificaciones.

Creando 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.

  1. Crea un nuevo cron job en tu panel:
  2. Asegúrate de ajustar el nombre de usuario al usuario de Shell correcto para el que creaste el script.
  3. Selecciona 'Every 15 minutes' 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.

  4. Haz clic en el botón Add para guardar.

El cron job ejecuta tu script cada 15 minutos. Si se rechaza un correo electrónico, se envía una copia a la dirección que especificó en el script.

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.