PHPMailer的AddAddress()

我不知道如何为AddAddress PHPMailer函数格式化数据; 我需要将电子邮件发送给多个收件人,所以我试了一下

$to = "me@domain.com,you@domain.net,she@domain.it"; $obj->AddAddress($to); 

但没有成功。 任何帮助将不胜感激。

您需要为每个要发送到的电子邮件地址调用一次AddAddress函数。 这个函数只有两个参数: recipient_email_addressrecipient_name 。 收件人名称是可选的,如果不存在,将不会使用。

 $mailer->AddAddress('recipient1@domain.com', 'First Name'); $mailer->AddAddress('recipient2@domain.com', 'Second Name'); $mailer->AddAddress('recipient3@domain.com', 'Third Name'); 

您可以使用数组来存储收件人,然后使用for循环。 我希望它有帮助。

您需要为每个收件人调用一次AddAddress方法。 像这样:

 $mail->AddAddress('person1@domain.com', 'Person One'); $mail->AddAddress('person2@domain.com', 'Person Two'); // .. 

为了使事情变得容易,你应该循环一个数组来做到这一点。

 $recipients = array( 'person1@domain.com' => 'Person One', 'person2@domain.com' => 'Person Two', // .. ); foreach($recipients as $email => $name) { $mail->AddAddress($email, $name); } 

更好的是,将它们添加为Carbon Copy收件人。

 $mail->AddCC('person1@domain.com', 'Person One'); $mail->AddCC('person2@domain.com', 'Person Two'); // .. 

为了使事情变得容易,你应该循环一个数组来做到这一点。

 $recipients = array( 'person1@domain.com' => 'Person One', 'person2@domain.com' => 'Person Two', // .. ); foreach($recipients as $email => $name) { $mail->AddCC($email, $name); } 

上面的一些很好的答案,在这里使用这个信息是我今天做的解决同样的问题:

 $to_array = explode(',', $to); foreach($to_array as $address) { $mail->addAddress($address, 'Web Enquiry'); } 
 foreach ($all_address as $aa) { $mail->AddAddress($aa); } 

所有的答案都很好。 以下是多个添加地址的示例用例:通过Web表单添加您想要的任意多个电子邮件的function:

在这里看到它与jsfiddle的行动 (除了PHP处理器)

 ### Send unlimited email with a web form # Form for continuously adding e-mails: <button type="button" onclick="emailNext();">Click to Add Another Email.</button> <div id="addEmail"></div> <button type="submit">Send All Emails</button> # Script function: <script> function emailNext() { var nextEmail, inside_where; nextEmail = document.createElement('input'); nextEmail.type = 'text'; nextEmail.name = 'emails[]'; nextEmail.className = 'class_for_styling'; nextEmail.style.display = 'block'; nextEmail.placeholder = 'Enter E-mail Here'; inside_where = document.getElementById('addEmail'); inside_where.appendChild(nextEmail); return false; } </script> # PHP Data Processor: <?php // ... // Add the rest of your $mailer here... if ($_POST[emails]){ foreach ($_POST[emails] AS $postEmail){ if ($postEmail){$mailer->AddAddress($postEmail);} } } ?> 

所以它基本上是在每次点击时用“emails []”生成一个新的input文本框。

最后添加的[]在发布时使其成为数组。

然后我们在PHP端通过“foreach”遍历数组的每个元素,添加:

  $mailer->AddAddress($postEmail);