A través del siguiente ejemplo con la clase PHPMAILER, veremos como enviar emails a múltiples destinatarios de una sola vez, para ello en el
campo destinatarios se deben de ir separando cada uno de los destinatarios a través de un coma.
Si no tienes PHPMAILER, lo puedes descargar directamente desde aquí, DESCARGAR PHPMAILER
<?php
error_reporting("E_NOTICE");
$resultado = "";
if (isset($_POST["destinatarios"]))
{
$destinatarios = $_POST["destinatarios"];
$destinatarios = explode(", ", $destinatarios);
$email = $_POST["email"];
$mensaje = $_POST["mensaje"];
$adjunto = $_FILES["adjunto"];
require("class.phpmailer.php");
$mail = new PHPMailer();
foreach($destinatarios as $destinatario)
{
$mail->Host = "localhost"; #Servidor SMTP, si es un servidor externo pon el de tu proveedor
$mail->FromName = "Administrador"; //Nombre del remitente
$mail->Subject = "Buenos días"; //Asunto del email
$mail->AddAddress(trim($destinatario)); //Destinatario
$mail->MsgHTML($mensaje); //Mensaje en HTML
//Si el archivo es de tamaño mayor que 0
if ($adjunto["size"] > 0)
{
$mail->AddAttachment($adjunto["tmp_name"], $adjunto["name"]);//adjuntar un archivo al mensaje
}
if($mail->Send())
{
$resultado .= "Enhorabuena el mensaje ha sido enviado con éxito a $destinatario<br>";
}
else
{
$resultado .= "Lo siento ha habido un error al enviar el mensaje a $destinatario<br>";
}
}
}
?>
<h3>Enviar múltiples emails con PHPMAILER</h3>
<form method="post" action="<?php $_SERVER["PHP_SELF"]; ?>" enctype="multipart/form-data">
<table border="0">
<tr>
<td>Archivo:</td>
<td><input type="file" name="adjunto"></td>
</tr>
<tr>
<td>destinatarios:</td>
<td><input type="text" name="destinatarios" size="50"></td>
</tr>
<tr>
<td>Mensaje:</td>
<td><textarea cols="50" rows="15" name="mensaje"></textarea></td>
<tr>
<tr>
<td></td><td><input type="submit" value="Enviar"></td>
</tr>
</table>
<b><?php echo $resultado; ?></b>
</form>
No hay comentarios:
Publicar un comentario