PHP mail () pro Domain konfigurieren


7

Ich habe ungefähr 6 Sites auf meinem dedizierten Server (mit centos5), und alle E-Mails, die mit der Mail-Funktion von php gesendet werden, werden von Nobody@servername.hostname.com gesendet, z. ". Gibt es eine Möglichkeit, dies zu ändern, um die entsprechende Domain anzuzeigen?


Sie könnten das Umschreiben von
Headern

Antworten:


6

Aus dem PHP-Handbuch für mail():

Hinweis: Beim Senden von E-Mails muss die E-Mail einen From-Header enthalten. Dies kann mit dem Parameter Additional_headers festgelegt werden, oder ein Standardwert kann in der php.ini festgelegt werden.

Wie die meisten php.ini-Einstellungen kann dies in der vhost-Konfiguration unter Apache oder über .htaccess überschrieben oder im Skript (optional mit auto_prepend) und seit 5.3.0 über .user.ini- Dateien festgelegt werden. Anstatt die Header From, Reply-To und Return-Path explizit festzulegen, ist es einfacher, den Empfänger anzugeben, wenn das Programm 'sendmail' aufgerufen wird, um die Nachricht zu verarbeiten.

Angenommen, exim verwendet die Standardflags in der Befehlszeile für seine sendmail-CLI:

in php.ini:

sendmail_path = "/usr/sbin/sendmail -ffrom@example.com -t -i"

In httpd.conf

php_admin_value sendmail_path "/usr/sbin/sendmail -ffrom@example.com -t -i"

In .htaccess.conf

php_value sendmail_path "/usr/sbin/sendmail -ffrom@example.com -t -i"

(Beachten Sie, dass Ihr Sendmail-Pfad möglicherweise von dem angezeigten abweicht.)

C.


1
Dies ist falsch - Sie können sendmail_path nicht pro Domain festlegen, es ist systemweit: php.net/manual/en/mail.configuration.php
Farkie

1
@Farkie bist du sicher? PHP_INI_SYSTEM Entry can be set in php.ini or httpd.conf< php.net/manual/en/configuration.changes.modes.php >. Beispielsweise legen Standard-DirectAdmin-vhost-Vorlagen das from-Feld über sendmail_path in jedem vhost-Abschnitt von httpd.conf fest.
Thomas Szteliga

Das heißt, es kann nicht eingestellt werden .htaccess, was .htaccess.confübrigens nicht benannt ist .
Reinierpost

0

Sie können ein Wrapper-Skript verwenden, zum Beispiel mein PHP-Secure-Sendmail . Sie können jede gesendete E-Mail (virtualhost, Datum / Uhrzeit, Empfänger) protokollieren, die Anzahl der gesendeten E-Mails pro Stunde / Tag durch virtualhost begrenzen, den Absender des Umschlags festlegen und vieles mehr ...


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.