2016-02-11 60 views
0

当用户提交表单时,我希望有一封电子邮件通过表单字段和一封单独的电子邮件发送给用户,以确认其提交内容(包含不同内容的两封单独电子邮件) 。在表单提交后发送两封不同的邮件

我尝试了以下形式,但只生成了第一封电子邮件。第二封电子邮件从未收到。

<?php 
$url = "http://www.example.com"; 

$to = '[email protected]'; 
$subject = 'Subject'; 
$headers .= "From: [email protected]\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$message .= "Content of Message 1"; 
mail($to, $subject, $message, $headers); 

$message = ""; 

$to = $_POST['email']; 
$subject = 'Subject'; 
$headers .= "From: [email protected]\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$message .= "Content of Message 2"; 
mail($to, $subject, $message, $headers); 

$message = ""; 

echo '<META HTTP-EQUIV=Refresh CONTENT="1; URL='.$url.'">'; 

?> 

什么会阻止第二封邮件的发送?

+0

你确定你抓到$ _ POST [ '电子邮件']呢?此外,你不断追加$头。您应该设置$ headers =“”,正如$ message – gen

+0

试着回显$ _POST ['email']的值来验证它是否正确传递。 – Kimomaru

回答

0

更改变量名称,而$to$subject被覆盖第二封电子邮件的连接变量.keep连接成一团糟。

+0

我会注释掉邮件功能并回显变量以验证您的字段是否准确。另外,我会为两个邮件操作命名字段。 $可能分别是$ toFirstEmail和$ toSecondEmail。 – Kimomaru

+1

这工作。将$名称更改为第二封电子邮件的不同名称。谢谢! –

0

只是做

$to = "[email protected];$_POST[email]" 
+0

这是行不通的,因为收件人会收到两封单独的电子邮件 - 不是同一封邮件。 –

相关问题