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