将标题“From:noreply@domain.com”更改为其他值,将邮件发送到垃圾邮件文件夹

时间:2013-06-05 11:37:05

标签: php sendmail

我的网站上有这个php mail()代码,工作正常。

这是一个ecard系统,我的客户可以填写信息(姓名,电子邮件)和信息(姓名,电子邮件)等,Mail直接进入收件箱,google,hotmail,yahoo等。

当接收者收到电子邮件时,他可以使用回复按钮,并获得正确的信息。

问题是我的邮件表单中的From:标题,我想将其从noreply@example.com更改为收件人的信息或任何其他信息。当我这样做时,邮件会进入垃圾邮件。

这是我正在使用的代码

<?php

$name = $_REQUEST['name'] ;
$motive = $_REQUEST['email'] ;
$name2 = $_REQUEST['name2'] ;
$email2 = $_REQUEST['email2'] ;
$message = $_REQUEST['message'] ;
$subject = $_REQUEST['subject'] ;
$message =  urldecode(stripslashes($message));

$headers = 'From:' . $name . ' John Q<noreply@example.com>' . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers.= "Reply-To:" .$name. "<" . $motive. ">\n";
$headers.= "Return-Path: My Company<admin@datatopixels.com>\n";
$headers.= "X-Mailer: PHP". phpversion() ."\n";


$messagee = "
<html>
<head>
<title>Title here</title>
</head>
<body>
<center>
<br>
</center>
</body>
</html>
";


mail($to, $subject, $messagee, $headers);

?>

1 个答案:

答案 0 :(得分:0)

您必须添加针头:

示例代码:

$headers = "From: myplace@example.com\r\n";
$headers .= "Reply-To: myplace2@example.com\r\n";
$headers .= "Return-Path: myplace@example.com\r\n";
$headers .= "CC: sombodyelse@example.com\r\n";
$headers .= "BCC: hidden@example.com\r\n";

if ( mail($to,$subject,$message,$headers) ) {
   echo "The email has been sent!";
   } else {
   echo "The email has failed!";
   }
?> 

我建议阅读oswalds's