GNU/Linux >> Tutoriales Linux >  >> Panels >> cPanel

Cómo reenviar mensajes de correo electrónico entrantes a un archivo de script

cPanel le permite configurar reenviadores de correo electrónico que canalizan los mensajes de correo electrónico entrantes a un archivo de script. A continuación, puede programar un archivo de secuencia de comandos para procesar automáticamente los mensajes entrantes como desee.

Configurando un script

Actualmente, los siguientes idiomas son compatibles con los scripts de reenvío de correo electrónico:

  • PHP
  • Perl
  • Pitón
  • Rubí

Cuando configura un script, hay dos cosas que debe hacer para asegurarse de que el reenviador funcione correctamente:

  1. Utilice el shebang correcto: Esto depende del idioma que esté utilizando para escribir el script. Por ejemplo, un archivo de script PHP debe usar el siguiente shebang al comienzo del archivo:
    #!/usr/bin/php -q
    La -q La opción habilita el modo silencioso, que suprime la salida del encabezado HTTP. Para obtener información sobre los shebangs correctos para otros idiomas, consulte este artículo.
  2. Establezca los permisos de archivo correctos para el script: Para hacer esto, escriba el siguiente comando, reemplazando scriptfile con el nombre de archivo del script:

    chmod 755 scriptfile
    

Si hay algún error de configuración en el reenviador o en el archivo de script, el remitente del mensaje recibe el siguiente mensaje:

Mail delivery failed: returning message to sender

Además, este mensaje de retorno puede enumerar errores que contienen fragmentos de código del archivo de script. ¡Asegúrese de probar su archivo de script a fondo antes de usarlo con un reenviador de correo electrónico activo!

Ejemplo de secuencia de comandos PHP

El siguiente ejemplo de código PHP muestra una forma de procesar un mensaje de correo electrónico entrante. El script simplemente lee el mensaje de stdin y luego almacena el texto del mensaje en una variable llamada $message :

#!/usr/bin/php -q
<?php

$fd = fopen( "php://stdin", "r" );

$message = "";

while ( !feof( $fd ) )
{
    $message .= fread( $fd, 1024 );
}

fclose( $fd );

// The $message variable now holds the entire message text,
// which you can use for further processing.

?>

Agregar un reenviador de correo electrónico en cPanel

Para agregar un reenviador de correo electrónico que redirige a un archivo de secuencia de comandos, siga estos pasos:

  1. Inicie sesión en cPanel. Si no sabe cómo iniciar sesión en su cuenta de cPanel, consulte este artículo.
  2. En la sección CORREO ELECTRÓNICO de la pantalla de inicio de cPanel, haga clic en Reenviadores:

  3. Haga clic en Agregar reenviador.
  4. En el cuadro de texto Dirección para reenviar, escriba el nombre de usuario de la cuenta.
  5. En el cuadro de lista Dominio, seleccione el dominio para la cuenta de correo electrónico.
  6. Haga clic en Opciones avanzadas.
  7. Haga clic en Canalizar a un programa y, a continuación, en el cuadro de texto, escriba la ruta al script en relación con su directorio de inicio. Por ejemplo, si su secuencia de comandos se encuentra en /home/username/scripts/process_mail.php , escribiría scripts/process_mail.php.
  8. Haga clic en Agregar reenviador. El reenviador se activa inmediatamente.
  9. Puede probar el reenviador enviando un mensaje de correo electrónico a la dirección de correo electrónico. El archivo de script correspondiente debería ejecutarse.

cPanel
  1. Cómo administrar el uso del disco de correo electrónico en cPanel

  2. ¿Cómo resaltar los scripts de Bash en Vim?

  3. Cómo incluir un archivo en un script de shell bash

  4. Cómo ejecutar un script de shell al inicio

  5. Cómo ejecutar un archivo sin extensión .sh en shell

Cómo ejecutar Shell Script como servicio Systemd en Linux

Cómo cargar un archivo al servidor

Cómo crear un archivo de sitio web

Cómo cambiar los permisos de archivo

Cómo copiar un archivo en el Administrador de archivos

Cómo hacer grep para Unicode en un script bash