Apache、虚拟主机和 sendmail 的默认发件人

Jef*_*eff 1 unix php sendmail virtualhost apache-2.2

所以这是我的问题......我在一台机器上托管了两个站点,使用 apache 的虚拟主机。我想使用适当的电子邮件地址从两个不同的站点(domain.com 和 domain2.com)发送电子邮件。我目前在 php.ini 中有这个值:

sendmail_path = /usr/sbin/sendmail -t -i -fuser@domain.com

但是当我尝试从 domain2.com 上的脚本发送电子邮件时,它显然带有From: user@domain.com标题。Apache 不允许您在<VirtualHost>指令中设置这样的规则:

php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fuser@domain2.com"

那么实现这一目标的最佳方法是什么?我已经尝试php_admin_value mail.force_extra_parameters "-fuser@domain2.com"从 domain2.com 的<VirtualHost>指令中进行设置,但所有电子邮件仍然来自 domain.com。有任何想法吗?

Jef*_*eff 6

尽管您不允许在<VirtualHost>指令中设置 sendmail_path ,但您可以在指令设置它<Directory>。所以我只是有一些看起来像这样的东西:

<VirtualHost *:80>
    Standard stuff goes here

    <Directory /dir/to/your/web/root>
        php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fuser@domain2.com"
    </Directory>

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我不确定这是否是完成此任务的最合适或最优雅的方式,但它确实有效。抱歉这么久才回复,我不经常上SF,忘记了这个问题。