Email a múltiples destinatarios con PHP

01/Oct/2017 PHP 8 Comentarios
programación php

Ya hemos visto lo sencillo que es enviar un email en PHP, pero cómo tenemos que hacer para poder enviar un email a múltiples destinatarios con PHP. Pues veamos lo sencillo que es realizar esta tarea.

Lo primero que nos tenemos que fijar es en el método que se utiliza en PHP para enviar emails, este es a función mail(). Si analizamos los parámetros que nos ofrece esta función veremos que son muy sencillos de entender:

bool mail ( string $to , string $subject , string $message
   [, string $additional_headers [, string $additional_parameters ]] )

El parámetro $to es el que nos permite identificar los destinatarios del email. Ya que queremos enviar el email a múltiples destinatarios con PHP deberemos de conformar una cadena de emails los cuales estén separados por comas.

Es importar respetar el uso de la coma para separarlos, ya que otra forma de separar los emails no funcionaría.

$para = '[email protected], [email protected]';

El resto de parámetros serán: $subject para representar el título del mensaje y $message para indicar el mensaje que quieras enviar.

Para poder indicar de quién le envía el correo electrónico deberemos de utilizar las cabeceras del método mail().

$para = '[email protected], [email protected]';
$titulo = 'Enviando email desde PHP';
$mensaje = 'Este es un email que se envía a múltiples destinatarios';
$cabeceras = 'From: Línea de Código ';

Ya solo nos quedará invocar a mail().

$enviado = mail($para, $titulo, $mensaje, $cabeceras);

El valor que nos deja en la variable $enviado representará si el correo se envió correctamente o hubo problemas en el envío. Es por ello que podemos realizar alguna comprobación:

if ($enviado)
  echo 'Email enviado correctamente a '.$para;
else
  echo 'Error en el envío del email';

De esta forma tan sencilla hemos conseguido enviar un email a múltiples destinatarios con PHP.

Vídeos sobre PHP


8 comentarios en “Email a múltiples destinatarios con PHP”

Víctor Cuervo

Ariel

Buenas tardes, estoy usando IMAP y al acceder al encabezado
«`
$headers = imap_headerinfo($inbox,$email_number);
return $headers->to;
«`
solo logro hacerme de la primer dirección, o sea, esto retorna un array de un solo objeto.
Saben como puedo recuperar las direcciones que faltan? (aclaro que NO me refiero a CC ni CCO).
Desde ya muchas gracias

Víctor Cuervo

Jonathan

Como podria hacer la parte visual para que, desde mi panel de admin, envie yo a los emails registrados en mi blog?

Víctor Cuervo

Javier

Ok, lo probaré ….te cuento

Víctor Cuervo

Víctor Cuervo

Genial! Ya nos cuentas que seguro que a más de una persona le sirve.

Saludos.

Víctor Cuervo

Emmanuel

Se puede crear una variable con todos los destinatarios y agregar la variable a $para ? Incluso si son mil emails?

Víctor Cuervo

Víctor Cuervo

En si es la variable $para la que tiene todos los destinatarios. Puedes tenerlo en otra y asignarselo luego a $para.

$otra = '[email protected], [email protected]';
$para = $otra;

Aunque creo que con la $para te valdría.

Saludos.

Víctor Cuervo

javier fiestas

muchas gracias por la publicación, pero como sería el código si los destinatarios son un email cualquiera donde yo lo recibo y el otro es el mismo email del que está rellenando el formulario, en este caso $_POST[‘email’]
he probado a poner:
$para = ‘[email protected],$_POST[‘email’] ‘; ->no funciona
$para = ‘[email protected],$email ‘; ->no funciona
$para = «[email protected],$_POST[‘email’] «; ->no funciona

¿Cómo podría hacerlo?

Víctor Cuervo

Víctor Cuervo

Buenas Javier,

Tendrías que concatener las cadenas con el operador punto. Algo así:

$para = ‘[email protected],'.$_POST[‘email’];

Espero que te sirva.

Saludos.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.