基本邮件功能(PHP)附加“-f”参数问题

时间:2010-11-17 14:14:41

标签: php email function sendmail

此邮件功能中是否正确设置了-f附加参数。

@mail("example@exmaple.com.uy",$title,$body,$headers,"-f");

我从某些服务器获取X Warning

对不起基本问题,documentation的某些部分让我感到困惑(特别是一些用户评论)。

提前致谢!

5 个答案:

答案 0 :(得分:4)

从手册:

  

additional_parameters参数   可用于传递其他标志   作为程序的命令行选项   配置为在发送时使用   邮件,由sendmail_path定义   配置设置。例如,   这可以用来设置信封   使用sendmail时的发件人地址   使用-f sendmail选项。

     

网络服务器运行的用户   应该作为可信用户添加到   sendmail配置要防止   添加'X-Warning'标题   信封时的信息   使用此方法设置sender(-f)。   对于sendmail用户,此文件是   的/ etc /邮件/可信用户。

来源:http://www.astahost.com/info.php/Sending-Mail-Php39s-Mail-Function_t2728.html

  

additional_parameters参数   可以用来传递额外的   配置为程序的参数   使用时发送邮件时使用   sendmail_path配置设置。   例如,这可以用于设置   使用时的信封发件人地址   sendmail使用-f sendmail选项。   您可能需要添加您的用户   Web服务器运行您的sendmail   配置以防止'X警告'   标题被添加到消息中   使用时设置信封发件人   这种方法。示例3.发送邮件   额外的标题和设置   附加命令行参数。

即:

<?php
mail("nobody@example.com", "the subject", $message,
"From: webmaster@{$_SERVER['SERVER_NAME']}", "-fwebmaster@{$_SERVER['SERVER_NAME']}");
?>

在-f之后,您需要设置外发电子邮件地址以防止出现警告(在本例中为其网站管理员@-域名

答案 1 :(得分:2)

如果你的机器在linux服务器上运行。您的apache安装很可能在用户'www-data'下运行。

你可以通过转到/ etc / apache2然后输入

来轻松解决这个问题
cat envvars | grep APACHE_RUN_USER

'='之后的任何内容是用户apache正在运行的内容。

您需要将此用户添加到trusted-users文件。此文件位于/ etc / mail / trusted-users

nano /etc/mail/trusted-users

并写上'www-data'。

保存,你应该好好去。

答案 2 :(得分:1)

-f后面应该是你想要作为邮件信封地址的地址。

@mail("example@exmaple.com.uy",$title,$body,$headers,"-fexample@exmaple.com.uy");

答案 3 :(得分:0)

您是否尝试过不使用-f标志发送它?

  

网络服务器运行的用户   应该作为可信用户添加到   sendmail配置要防止   添加'X-Warning'标题   信封时的信息   使用此方法设置sender(-f)。   对于sendmail用户,此文件是   的/ etc /邮件/可信用户。

答案 4 :(得分:0)

您需要在-f标志后指定电子邮件地址。像这样:“ - example@example.com”。您可能还需要将您的Web服务器运行的用户添加到您的sendmail配置中。