如何更改 php mail() 函数的默认发件人地址。我知道我可以逐个发送,但我也想更改默认设置。
答案1
您可以使用“sendmail_from”在 php.ini 中进行设置。
从 php.ini 中:
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t
如果由于某种原因您无法访问 php.ini,您可以在 .htaccess 文件中设置以下内容:
php_value sendmail_from [email protected]
注意:出于安全原因,您不能以这种方式设置 sendmail_path。来源:http://nl.php.net/manual/en/mail.configuration.php
答案2
我已经在 MTA(smtp 服务器)中为我们的网站管理员完成了此操作。如果您的 MTA 是 postfix,则可以使用 sender_canonical_maps 查找表。来自 man 5 postconf:
sender_canonical_maps (default: empty)
Optional address mapping lookup tables for envelope and header sender
addresses. The table format and lookups are documented in canoni‐
cal(5).
Example: you want to rewrite the SENDER address "[email protected]" to
"[email protected]", while still being able to send mail to the RECIP‐
IENT address "[email protected]".
Note: $sender_canonical_maps is processed before $canonical_maps.
Example:
sender_canonical_maps = hash:/etc/postfix/sender_canonical
答案3
您需要定义一个标题,在其中输入“发件人:Toto toto <[电子邮件保护]>”(没有空格,但是界面会删除< >的内容)。
要更改默认设置,您不应在 PHP 中执行此操作,而应在 MTA 中执行此操作。将发件人地址重写为您想要的地址。