Article ID: 1711, created on Sep 14, 2012, last review on May 6, 2014

  • Applies to:
  • Plesk for Linux/Unix

Soluzione

Esiste un modo per determinare da quale cartella viene eseguito lo script PHP che invia la posta.Nota: A seconda della versione del SO e di Parallels Panel, i percorsi possono essere leggermente diversi da quelli elencati qui sotto.

1) Crea uno script /var/qmail/bin/sendmail-wrapper con il seguente contenuto:

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


Nota: deve contenere due linee includendo '#!/bin/sh'.

2) Crea un file di log /var/tmp/mail.send e garantisci i diritti "a+rw"; rendi il wrapper eseguibile; rinomina il vecchio sendmail; collegalo al nuovo 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) Attendi per un'ora e cambia di nuovo sendmail:

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


Esamina il file /var/tmp/mail.send. Devono esserci delle linee che iniziano con "X-Additional-Header:" puntate alle cartelle di dominio dove si trovano gli script che hanno inviato la posta.
Per visualizzare tutte le cartelle da cui gli script PHP di posta sono stati eseguiti, eseguire il seguente comando:

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

Se non si verifica un output dal comando sopra, significa che non è stato inviato alcun usando la funzione PHP mail() dalla directory di host virtuale Plesk.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838

Email subscription for changes to this article
Save as PDF