【问题标题】:PHP send email to multiple email addresses obtained from input fieldPHP将电子邮件发送到从输入字段获得的多个电子邮件地址
【发布时间】:2017-10-22 07:18:27
【问题描述】:

我想使用我的表单向多个电子邮件地址发送邀请。

我希望用户在表单中输入多个电子邮件地址(最多 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发送电子邮件

【问题讨论】:

  • 抱歉,我没有从 db 获取数据。
  • 你是用一组地址做这个吗?
  • 由于您只有两个地址,只需创建一个新变量并添加为额外的收件人
  • 如果未设置某些变量,该连接示例将破坏功能,您最终会得到 'blah@blah.com,,,'

标签: php email post


【解决方案1】:

您将立即覆盖以下行中的$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");
}

【讨论】:

  • 我真的不知道该怎么做。我刚刚尝试过这个选项,但它不起作用。
  • 我正在覆盖它,因为我想将表单数据发送给多个收件人,但我不知道该怎么做。
  • 有点快让我失望了,我编辑了我的答案,并提供了更多细节。
  • 您的另一个选项是 4 封电子邮件的 4 个变量,如果其他变量不为空,则最多调用 mail() 4 次。
  • 过滤和验证 $_POST 数据会解决我的问题吗?
【解决方案2】:

首先分解您的电子邮件字符串,使用 explode 到逗号分隔的数组中,然后使用 for 每个循环发送电子邮件。例如你可以这样做

$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"); 
     }

【讨论】:

  • 他有 4 个字段,而不是一个。
  • @delboy1978uk 这只是向 OP 展示如何解决她的问题的一个例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
  • 2019-01-10
相关资源
最近更新 更多