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

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

  1. Inicia sesión en tu servidor a través de SSH.
  2. Asegúrate de estar en el directorio principal de tu usuario:
    [server]$ cd ~
    [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 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, 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.

¿Aún no encuentra lo que busca?