PHPMailer AddAddress ()

Я не знаю, как данные должны быть отформатированы для функции AddAddress PHPMailer; Мне нужно, чтобы письмо было отправлено нескольким получателям, поэтому я попробовал

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

но без успеха. Любая помощь будет оценена.

Вам нужно вызвать функцию AddAddress один раз для каждого адреса электронной почты, который вы хотите отправить. Для этой функции есть только два аргумента: recipient_email_address и имя recipient_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); } 

Все ответы велики. Вот пример использования для множественного адреса добавления. Возможность добавлять столько электронной почты, которое вы хотите по запросу с помощью веб-формы:

См. Его в действии с 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 []».

Добавленный в конце [] добавляет массив при публикации.

Затем мы просматриваем каждый элемент массива с «foreach» на стороне PHP, добавляя:

  $mailer->AddAddress($postEmail);