我从php的邮件功能中得到了一个奇怪的行为 这是代码:
$header = "From: aa@aa.com\n";
$header .= "Reply-To: bb@bb.com\n";
$header .= "Content-Type: multipart/alternative; boundary=$alt_boundary\n";
$header .= "Mime-Version: 1.0\n";
$header .= "X-Mailer: PHP/".phpversion()."\n";
$header .= "Content-Type: text/plain;charset=utf-8\n";
$send = mail($to,$subject,$message,$headers);
但我收到的电子邮件中有来自服务器主管理员的发件人地址,如:user123@s12panelboxmanage.com
为什么?
答案 0 :(得分:3)
也许是因为您设置了变量 $ header ,但是传递给mail()变量 $ headers 。如果不是原因,请尝试插入\ r \ n而不是\ n。
答案 1 :(得分:3)
您也应该在mail函数中使用-f选项来设置(有效)发件人:
$header = 'MIME-Version: 1.0'."\n";
$header .= 'Content-type: text/'.$contentType.'; charset=iso-8859-1'."\n";
$header .= 'From: '.$from."\n";
$header .= 'Reply-To: '.$mailFrom."\n";
$header .= 'X-Mailer: PHP '.phpversion()."\n";
$header .= 'X-Sender-IP: '.$_SERVER['REMOTE_ADDR']."\n";
mail($to,$subject,$message,$header, "-f aa@aa.com");
答案 2 :(得分:1)
<?php
$to = 'user@domain.com';
$subject = 'Subject';
$message = 'This is a test';
$headers = 'From: webmaster@yourdot.com' . "\r\n" .
'Reply-To: webmaster@yourdot.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>