Viele E-Mail-Nachrichten werden von PHP-Skripten auf dem Server gesendet. Wie kann ich herausfinden, auf welchen Domains diese Skripte ausgeführt werden?
Quelle: http://kb.parallels.com/de/1711
Lösung
Es gibt eine Methode herauszufinden, aus welchem Ordner das PHP-Skript, das E-Mail sendet, ausgeführt wurde. Beachten Sie, dass die tatsächlichen Pfade sich abhängig von Ihrem Betriebssystem und Ihrer Plesk-Version geringfügig von den unten gezeigten unterscheiden können:1) Erstellen Sie das Skript /var/qmail/bin/sendmail-wrapper mit folgendem Inhalt:
#!/bin/sh
(echo X-Additional-Header: $PWD ;cat) | tee -a /var/tmp/mail.send|/var/qmail/bin/sendmail-qmail "$@"
Beachten Sie, dass es einschließlich der Zeile '#!/bin/sh' zwei Zeilen sein müssen.
2) Erstellen Sie dann die Logdatei /var/tmp/mail.send und weisen Sie ihr die Rechte "a+rw" zu, machen Sie den Wrapper ausführbar, benennen Sie das alte Sendmail um und verknüpfen Sie es mit dem neuen Wrapper:
3) Warten Sie ca. eine Stunde und setzen Sie Sendmail zurück:
# ln -s /var/qmail/bin/sendmail-qmail /var/qmail/bin/sendmail
Untersuchen Sie die Datei /var/tmp/mail.send. Sie sollte Zeilen enthalten, die mit "X-Additional-Header:" beginnen. Diese verweisen auf Domain-Ordner, in denen sich die Skripte, die die E-Mail gesendet haben, befinden.
Sie können alle Ordner, aus denen E-Mail-PHP-Skripte ausgeführt wurden, mit dem folgenden Befehl anzeigen:
Wenn Sie vom obigen Befehl keine Ausgabe erhalten, bedeutet dies, dass keine E-Mail mit der PHP mail()-Funktion aus dem Plesk-Verzeichnis mit virtuellen Hosts gesendet wurde.