根据域名配置 php mail()

根据域名配置 php mail()

我的专用服务器(运行 centos5)上大约有 6 个站点,所有使用 php 邮件功能发送的电子邮件都是通过[电子邮件保护]例如“已接收:来自本地的任何人,由 servername.hostname.com 发送(Exim 4.69)”。有什么方法可以更改此设置以显示适当的域?

答案1

来自PHP 手册为了mail()

注意:发送邮件时,邮件必须包含发件人标头。这可以通过 additional_headers 参数设置,也可以在 php.ini 中设置默认值。

与大多数 php.ini 设置一样,这可以在 Apache 上的 vhost 配置中或通过 .htaccess 覆盖,也可以在脚本中设置(可选择使用 auto_prepend),并且从 5.3.0 开始通过用户配置文件文件。但是,与其明确设置发件人、回复至和返回路径标头,不如在调用“sendmail”程序处理邮件时指定收件人,这样更简单。

假设 exim 在其 sendmail cli 的命令行上使用标准标志:

在php.ini中:

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

在 httpd.conf 中

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

在 .htaccess.conf 中

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

(请注意,您的发送邮件路径可能与显示的不同)

C。

答案2

您可以使用一些包装脚本,例如我的php-安全-sendmail。它允许您记录每封发送的电子邮件(虚拟主机、日期/时间、收件人)、限制虚拟主机每小时/每天发送的电子邮件数量、设置信封发件人等等……

答案3

只能使用以下方法覆盖该值php_admin_value在 apache 站点配置文件中。无法使用 php_value 进行设置

答案4

您必须使用 -f 选项php 邮件功能

相关内容