Muchos emails se envían desde scripts PHP en el servidor. ¿Cómo puedo saber en qué dominios se están ejecutando dichos scripts si estoy utilizando Postfix?

Created:

2016-11-16 12:49:00 UTC

Modified:

2017-08-17 20:55:00 UTC

28

Was this article helpful?


Have more questions?

Enviar una solicitud

Muchos emails se envían desde scripts PHP en el servidor. ¿Cómo puedo saber en qué dominios se están ejecutando dichos scripts si estoy utilizando Postfix?

Applicable to:

  • Plesk for Linux/Unix
  • Plesk Automation

Síntomas

Muchos emails se envían desde scripts PHP en el servidor. ¿Cómo puedo saber en qué dominios se están ejecutando dichos scripts si estoy utilizando Postfix?

Resolución

Nota: este artículo sólo es válido para Postfix. Si está usando el servidor de correo Qmail, consulte el siguiente artículo:

1711 Muchos emails se envían desde scripts PHP en el servidor. ¿Cómo puedo saber en qué dominios se están ejecutando dichos scripts?

Existe una forma de determinar desde qué carpeta se ejecutó el script PHP que envía los correos.

Nota: las rutas pueden variar un poco en función de su SO y de la versión usada de Parallels Plesk Panel.

  1. Cree un script /usr/sbin/sendmail.postfix-wrapper con el siguiente contenido:

    Cree un archivo y ábralo para poderlo editar:

    #touch /usr/sbin/sendmail.postfix-wrapper
    #vi /usr/sbin/sendmail.postfix-wrapper
    

    Añada el siguiente contenido:

    #!/bin/sh
    (echo X-Additional-Header: $PWD ;cat) | tee -a /var/tmp/mail.send|/usr/sbin/sendmail.postfix-bin "$@"
    

    Tenga en cuenta que este debería estar formado por dos líneas, incluyendo #!/bin/sh .

  2. Cree un archivo de registro, /var/tmp/mail.send , y concédale permisos a+rw . Haga que el wrapper sea ejecutable, cambie el nombre del sendmailanterior y vincúlelo al wrapper nuevo. A continuación, ejecute los siguientes comandos:

    ~# touch /var/tmp/mail.send
    ~# chmod a+rw /var/tmp/mail.send
    ~# chmod a+x /usr/sbin/sendmail.postfix-wrapper
    ~# mv /usr/sbin/sendmail.postfix /usr/sbin/sendmail.postfix-bin
    ~# ln -s /usr/sbin/sendmail.postfix-wrapper /usr/sbin/sendmail.postfix
    
  3. Espere una hora y entonces vuelva a modificar el sendmail:

    ~# rm -f /usr/sbin/sendmail.postfix
    ~# mv /usr/sbin/sendmail.postfix-bin /usr/sbin/sendmail.postfix
    

Examine el archivo /var/tmp/mail.send . Debería poder ver líneas que empiecen por X-Additional-Header: que apunten a las carpetas del dominio donde se encuentran los scripts que enviaron los emails.

Puede ver todas las carpetas desde las que se ejecutaron scripts PHP de correo emitiendo el siguiente comando:

    ~# grep X-Additional /var/tmp/mail.send | grep `cat /etc/psa/psa.conf | grep HTTPD_VHOSTS_D | sed -e 's/HTTPD_VHOSTS_D//' `

Si la ejecución de este comando no le devuelve ninguna salida, esto significa que no se envió ningún email usando la función mail() de PHP desde el directorio de hosts virtuales de Parallels Plesk Panel.

¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.