php邮件功能

时间:2010-12-13 22:33:50

标签: php email

我从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

为什么?

3 个答案:

答案 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);
?>
相关问题