varios recipients multiple mail emails correos addaddress php formatting phpmailer

recipients - PHPMailer AddAddress()



phpmailer send copy (5)

No sé cómo deberían formatearse los datos para la función AddAddress PHPMailer; Necesito que se envíe el correo electrónico a varios destinatarios, así que lo intenté

$to = "[email protected],[email protected],[email protected]"; $obj->AddAddress($to);

pero sin éxito Cualquier ayuda será apreciada.


Algunas de las excelentes respuestas anteriores, el uso de esa información aquí es lo que hice hoy para resolver el mismo problema:

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


Todas las respuestas son geniales Aquí hay un caso de uso de ejemplo para varias direcciones de agregado: La posibilidad de agregar tantos correos electrónicos que desee a pedido con un formulario web:

Véalo en acción con jsfiddle aquí (excepto el procesador 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);} } } ?>

Entonces, básicamente, lo que hace es generar un nuevo cuadro de texto de entrada en cada clic con el nombre "correos electrónicos []".

El [] añadido al final lo convierte en una matriz cuando se publica.

Luego revisamos cada elemento de la matriz con "foreach" en el lado de PHP agregando:

$mailer->AddAddress($postEmail);


AddAddress llamar a la función AddAddress una vez por cada dirección de correo electrónico que desee enviar. Solo hay dos argumentos para esta función: recipient_email_address y recipient_name . El nombre del destinatario es opcional y no se usará si no está presente.

$mailer->AddAddress(''[email protected]'', ''First Name''); $mailer->AddAddress(''[email protected]'', ''Second Name''); $mailer->AddAddress(''[email protected]'', ''Third Name'');

Puede usar una matriz para almacenar los destinatarios y luego usar un ciclo for . Espero que ayude.


AddAddress llamar al método AddAddress una vez para cada destinatario. Al igual que:

$mail->AddAddress(''[email protected]'', ''Person One''); $mail->AddAddress(''[email protected]'', ''Person Two''); // ..

Para facilitar las cosas, debe recorrer una matriz para hacer esto.

$recipients = array( ''[email protected]'' => ''Person One'', ''[email protected]'' => ''Person Two'', // .. ); foreach($recipients as $email => $name) { $mail->AddAddress($email, $name); }

Mejor aún, agréguelos como destinatarios de Carbon Copy.

$mail->AddCC(''[email protected]'', ''Person One''); $mail->AddCC(''[email protected]'', ''Person Two''); // ..

Para facilitar las cosas, debe recorrer una matriz para hacer esto.

$recipients = array( ''[email protected]'' => ''Person One'', ''[email protected]'' => ''Person Two'', // .. ); foreach($recipients as $email => $name) { $mail->AddCC($email, $name); }


foreach ($all_address as $aa) { $mail->AddAddress($aa); }