Saltar al contenido

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

Resolución

Existe una forma de descubrir desde qué carpeta se ejecutó el script PHP que envió el mensaje. Tenga en cuenta que las rutas pueden ser un poco distintas de las enumeradas a continuación, ya que estas varían en función de su versión de Parallels Plesk Panel y de su SO:

1) cree /var/qmail/bin/sendmail-wrapper script con el contenido:

#!/bin/sh
(echo X-Additional-Header: $PWD ;cat) | tee -a /var/tmp/mail.send|/var/qmail/bin/sendmail-qmail «$@»

Es muy importante incluir estas dos líneas, incluyendo ‘#!/bin/sh’.

 

2) ahora cree el archivo de registro /var/tmp/mail.send y otórguele derechos «a+rw». Haga que el ‘wrapper’ sea ejecutable, cambie el nombre sendmail anterior y vincúlelo al nuevo wrapper:

 

# touch /var/tmp/mail.send# chmod a+rw /var/tmp/mail.send

# chmod a+x /var/qmail/bin/sendmail-wrapper

# mv /var/qmail/bin/sendmail /var/qmail/bin/sendmail-qmail

# ln -s /var/qmail/bin/sendmail-wrapper /var/qmail/bin/sendmail

3) Espere una hora aproximadamente y revierta sendmail:

# rm -f /var/qmail/bin/sendmail
# ln -s /var/qmail/bin/sendmail-qmail /var/qmail/bin/sendmail

Examine el archivo /var/tmp/mail.send, debería encontrar unas líneas que empiezan por «X-Additional-Header:» apuntando a las carpetas de los dominios donde se encuentra el script que envió el correo.
También verá todas las carpetas desde las que se ejecutaron los scripts de correo PHP ejecutando 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 el comando indicado arriba no le devuelve ninguna salida, significa que no se envió ningún correo usando la función de correo PHP () desde el directorio de hosts virtuales de Parallels Plesk Panel.

 

FUENTE: http://kb.parallels.com/es/1711