我使用的是php,使用邮件功能:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: admin@domain.com' . "\r\n";
$headers .= 'Reply-To: Admin <admin@domain.com>' . "\r\n";
// Return Path -
$return_path = "bounce@domain.com";
$toUser... (all necessary variables)
if(mail($toUser,$subject,$body,$headers, "-f".$return_path)){
echo "res=sent";
} else {
echo "res=error";
}
我测试的电子邮件很少,如abXXX@kasbkjasbdka.com,8hgb87@9ndksjc9ne.com
(等等,所有无效的,不存在的电子邮件地址)
为什么不去我的bounce@domain.com ????
答案 0 :(得分:1)
您还应该能够在大多数服务器上使用标头设置Return-Path:
$headers .= "Return-Path: bounce@domain.com\r\n";
答案 1 :(得分:0)
您需要在-f
之后添加空格。另外,为什么不使用UTF-8而不是iso-8859-1?试试这个:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'From: admin@domain.com' . "\r\n";
$headers .= 'Reply-To: Admin <admin@domain.com>' . "\r\n";
// Return Path
$return_path = 'bounce@domain.com';
/*
$toUser... (all necessary variables)
*/
if(mail($toUser, $subject, $body, $headers, '-f ' . $return_path)) {
echo 'res=sent';
} else {
echo 'res=error';
}
答案 2 :(得分:0)
可能是由sendmail的配置引起的。 -F 参数作为命令行属性传递,因此需要配置sendmail以支持它。
来自php.net:
additional___parameters参数 可用于传递其他标志 作为程序的命令行选项 配置为在发送时使用 邮件,由sendmail_path定义 配置设置。例如, 这可以用来设置信封 使用sendmail时的发件人地址 使用-f sendmail选项。
修改:我刚看到Matthias Bynens'答案是正确的,请参阅this entry