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 [email protected] gesendet, z. ". Gibt es eine Möglichkeit, dies zu ändern, um die entsprechende Domain anzuzeigen?


quelle
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 [email protected] -t -i"

In httpd.conf

php_admin_value sendmail_path "/usr/sbin/sendmail [email protected] -t -i"

In .htaccess.conf

php_value sendmail_path "/usr/sbin/sendmail [email protected] -t -i"

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

C.

symcbean
quelle
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 ...

Marki555
quelle