我想使用我的表单向多个电子邮件地址发送邀请。
我希望用户在表单中输入多个电子邮件地址(最多4个),然后将邀请加入我的网站的电子邮件地址。
但我找不到使用PHP表单向多个收件人发送电子邮件的解决方案。
这是我的代码:
<?php
if ($_POST["email"]<>'') {
$email_to = $_POST['email'];
$email_to = $_POST['email1'];
$EmailSubject = 'Site contact form';
$mailheader = "From: Marsh Children Home
<hola@marshchildrenshome.org.mx>\r\n";
$mailheader .= "Reply-To: hola@marshchildrenshome.org.mx\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "Name: ".$_POST["name"]."";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."";
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."";
mail($email_to, $EmailSubject, $MESSAGE_BODY, $mailheader) or die
("Failure");
?>
但它只向一位收件人发送电子邮件email1
答案 0 :(得分:0)
首先使用 explode 将您的电子邮件字符串分解为逗号分隔数组,然后使用每个循环发送电子邮件。例如,你可以这样做
$toEmails=explode(";" , $_POST['email']); //you have array now
//loop through the array to send email to each user
foreach($toEmails as $toEmail)
{
mail($toEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
}
答案 1 :(得分:-2)
您将立即覆盖以下行中的$email_to
!
试试这个:
$email_to .= ';'.$_POST['email1'];
另外,我应该指出你应该在使用之前过滤并验证yopur $ _POST数据!
对于4封可能的电子邮件,另一个选项是4个变量:
$email2 = $_POST['email2']; //etc
然后检查它是否为空:
if (!empty($email2)) {
mail($email2, $EmailSubject, $MESSAGE_BODY, $mailheader) or die("Failure");
}