mail() 发送自地址

mail() 发送自地址

如何更改 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 中执行此操作。将发件人地址重写为您想要的地址。

相关内容