php邮件和yahoo.com没有振动

时间:2015-01-14 00:06:44

标签: php email yahoo

好的,我最近开发了一个用于派对查询的php联系表格。

表单向网站发送一个请求,并向填写表单的人发送一个确认。

在Gmail中,似乎两封电子邮件都正常发送。但是,如果您使用雅虎电子邮件填写表单,它将仅发送确认。不是请求。这显然是有问题的。所以我想弄明白为什么。

我的php如下:

$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$guests = $_POST['guests'];
$type = $_POST['type'];
$month = $_POST['month'];
$day = $_POST['day'];
$year = $_POST['year'];
$message = $_POST['message'];
$formcontent="msg";
$comfirmcontent="msg";
$fromname="mydomain.com";
$fromemail="info@mydomain.com";
$confirmheader=
'From: "' . $fromname . '" <' . $fromemail . '>'  . "\r\n" .
'Reply-To: "' . $fromname . '" <' . $fromemail . '>'  . "\r\n" .
'X-Mailer: PHP v' . phpversion();
$recipient = "info@mydomain.com";
$subject = "Contact From Website";
$mailheader = "From: $email";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
mail($email, $confirmsubject, $comfirmcontent, $confirmheader) or die("Error!");
header('Location: party-form-thank-you.html')

所以这封电子邮件不是从雅虎发送的:

mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 

但是这个是:

mail($email, $confirmsubject, $comfirmcontent, $confirmheader) or die("Error!");

我认为可能是因为

'X-Mailer: PHP v' . phpversion();

在确认电子邮件中定义,因此我尝试将其写入$ mailheader

$mailheader = "From: $email" . "\r\n" .
'X-Mailer: PHP v' . phpversion();

......没有用。

所以我要求所有编码朋友帮忙解决原因。

TIA

1 个答案:

答案 0 :(得分:0)

@kaiqing

你是对的,因为变量被定义为具有不同名称的相同我认为雅虎有问题,

我把它重写为:

$name = $_POST['name'];
$email = $_POST['email'];
$fromname="BOULETTESLARDER.COM";
$recipient = "info@bouletteslarder.com";
$subject = "Contact From Website";
$mailheader = 'From: "' . $name . '" <' . $email . '>'  . "\r\n" .
'X-Mailer: PHP v' . phpversion();
$confirmheader=
'From: "' . $fromname . '" <' . $recipient . '>'  . "\r\n" .
'Reply-To: "' . $fromname . '" <' . $recipient . '>'  . "\r\n" .
'X-Mailer: PHP v' . phpversion();
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
mail($email, $confirmsubject, $comfirmcontent, $confirmheader) or die("Error!");

现在它将提交并发送两封电子邮件 - 到网站&amp;对于用户 - 如果填写表单的用户具有yahoo地址。