我使用PHP的邮件功能向个人发送电子邮件。我想要一个简单的方法来定制电子邮件中的问候语名称,所以我创建了一个表单,其中包含用逗号分隔的电子邮件列表和用逗号分隔的名称列表,并且他们通过PHP发布并邮寄。在PHP邮件中发送姓名数组
但是,每次我发送它时,名称都会吐出整个名称数组,而不是我指定的ONE值。我一直在为此工作了一个小时,并且不能在我的生活中看到问题出在哪里......其简单的代码!如果你看到任何明显的错误,这里的代码让我知道。
$to_emails = $_POST['to_emails'];
$to_names = $_POST['to_names'];
$from_email = $_POST['from_email'];
$message = $_POST['message'];
$subject = $_POST['subject'];
$explode_emails = str_replace(" ", "", explode(",",$to_emails));
$explode_names = explode(",",$to_names);
$email_array = array();
$i=0;
foreach($explode_names as $e) {
$name = $e;
$to = $explode_emails[$i];
$subject = $subject;
$message = $name.",\r\n".$message;
$headers = 'From: '.$from_email . "\r\n" .
'Reply-To: '.$from_email . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
echo "<font color='#FF0000'>".$i." Emailed: ".$name." : ".$to."</font><br />";
$i++;
}
<form method="post">
To Emails (comma separated)
<input type="text" name="to_emails" value="">
<br /><br />
To Names (comma separated)
<input type="text" name="to_names" value="">
<br /><br />
From
<input type="text" name="from_email" value="[email protected]">
<br /><br />
Subject
<input type="text" name="subject" value="">
<br /><br />
Message
<textarea name="message" rows="5" id="message"></textarea>
<br /><br />
<input type="submit" />
</form>
示例输入和输出将会有所帮助。例如,如果您对$ to_names的输入不是逗号分隔的,则不会像您期望的那样得到标记。 – Anson
做一个'echo $ to_names;'以确保POST数据没有什么奇怪的事情发生,并且你的'''实际上正在被分隔。 – aus
然后做'echo $ explode_names [0]'看看会发生什么。 – aus