Возможный дубликат:
PHPMailer AddAddress ()
Вот мой код.
требовать ( 'class.phpmailer.php'); $ mail = new PHPMailer (); $ email = 'email1@test.com, email2@test.com, email3@test.com'; $ sendmail = "$ email"; $ Mail-> AddAddress ($ Sendmail, "Тема"); $ mail-> Subject = "Subject"; $ mail-> Body = $ content; if (! $ mail-> Отправить ()) {# отправка почты не удалась $ msg = "Произошла ошибка. Повторите попытку позже."; } else { $ msg = "Ваше сообщение отправлено. Мы свяжемся с вами в ближайшее время."; } }
Проблема
если $ email значение только 1. Он отправит. Но несколько не отправляют. Что я должен сделать для этого. Я знаю, что в функции почты вам нужно отделить несколько писем запятой. Но не работает в phpmailer.
Вам нужно вызвать метод AddAddress
один раз для каждого получателя. Вот так:
$mail->AddAddress('person1@domain.com', 'Person One'); $mail->AddAddress('person2@domain.com', 'Person Two'); // ..
Еще лучше добавить их как получателей 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); }