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?
7
Antworten:
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:
In httpd.conf
In .htaccess.conf
(Beachten Sie, dass Ihr Sendmail-Pfad möglicherweise von dem angezeigten abweicht.)
C.
quelle
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..htaccess
, was.htaccess.conf
übrigens nicht benannt ist .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 ...
quelle
Sie müssen die Option -f der PHP-Mail-Funktion verwenden .
quelle