Foros del Web » Programando para Internet » PHP »

Varios mails simultaneos

Estas en el tema de Varios mails simultaneos en el foro de PHP en Foros del Web. Buen día, necesito mandar varios mails simultaneos y no logro hacerlo. Tengo una pagina donde tengo un campo para escribir el mensaje ($mensaje), otro para ...
  #1 (permalink)  
Antiguo 03/10/2010, 09:18
 
Fecha de Ingreso: julio-2010
Mensajes: 70
Antigüedad: 13 años, 9 meses
Puntos: 0
Varios mails simultaneos

Buen día, necesito mandar varios mails simultaneos y no logro hacerlo.
Tengo una pagina donde tengo un campo para escribir el mensaje ($mensaje), otro para el asunto ($asunto) y una lista de los "socios" a los cuales tengo que mandar el mail.
Dentro del formulario, la lista lleva el nombre destinatarios[] para que cuando se seleccione a los que quiero enviar los coloque en el array destinatarios.
Hasta aca parece que todo lo hace bien porque pido que imprima lo que manda el POST con if ($_POST) {print_r($_POST);} y me muestra el asunto, el mensaje y los "n" elementos del array seleccionados, todo correctamente.

El problema está en que no manda ningun mail.

La parte de construccion de esta parte la he intentado hacer de dos maneras y ninguna ha funcionado, por ejemplo

1) CON FOR

$cantidaddemails = count($destinatarios);

$mensaje = $_POST['mensaje'];
$asunto = $_POST['asunto'];
$mensaje = wordwrap($mensaje, 60);
ini_set('sendmail_from', '[email protected]');
for ($i=0,$i<=$cantidaddemails,$i++){$enviarMail = mail ($destinatarios[$i], $asunto, $mensaje);}

Aca la pagina queda en blanco y ni siquiera se abre por lo que ni siquiera puedo escribir el mensaje, ni seleccionar los mails.

2) con FOREACH

$mensaje = $_POST['mensaje'];
$asunto = $_POST['asunto'];
$mensaje = wordwrap($mensaje, 60);
ini_set('sendmail_from', '[email protected]');
foreach($destinatarios as $direccion){$enviarMail = mail ($direccion, $asunto, $mensaje);}

Aca parece que uncionara porque me deja escribir pero no manda ningun mail.


Alguien me podrá orientar sobre donde tengo el error.

Gracias
  #2 (permalink)  
Antiguo 03/10/2010, 09:25
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Varios mails simultaneos

¿has intentado enviar uno para ver si llega?
¿si tu servidor es windows, has instalado y configurado el SMTP?
¿tu firewall o proxy's tienen el puerto 25 abierto para salida?
¿revisaste si los mail llegaron, aunque sea a la bandeja de SPAM?
¿tu hosting solicita autenticación SMTP?
¿tu hosting bloquea n mensajes por hora?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/10/2010, 09:48
 
Fecha de Ingreso: julio-2010
Mensajes: 70
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Varios mails simultaneos

He intentado mandar uno independientemente de esta pagina y funciona, llega sin problemas.
No llegaron a la bandeja de spam,.
Mi servidor requiere autenticacion SMTP, cosa que no se que quiere decir, pero aun así llegan los mails que mando de manera aislada a esta parte.
Solo he intentado hacer funcionar la pagina mandando 2 mails y no pasa nada.
  #4 (permalink)  
Antiguo 03/10/2010, 09:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Varios mails simultaneos

puedes tratar de usar una librería para enviar los mails directamente por smtp, y autenticados, si tu php es versión 5.2.x puedes usar phpmailer, swiftmailer, entre otros, pero si es 5.3.x phpmailer no funciona, te quedaría la opción se swiftmailer (u otro que fuese compatible)
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 03/10/2010, 16:35
 
Fecha de Ingreso: julio-2010
Mensajes: 70
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Varios mails simultaneos

Continuando con mi problema, en un lugar del codigo pongo lo siguiente


if ($_POST) {print_r($_POST);}

$cuantosson = count($destina);
echo "son : ".$cuantosson." destinatarios";

Array ( [asunto] => tema a mandar [mensaje] => este es el mensaje mandado [destina] => Array ( [0] => [email protected] [1] => [email protected] [2] => [email protected] ) [enviar] => Enviar el mensaje ingresado a cada uno de los destinatarios seleccionados ) son : 0 destinatarios


O sea, creo que el problema esta en que por un lado toma a $destina como un array, y manda los valores [0], [1] y [2] pero en el siguiente renglon cuando calcula la cantidad de elementos del array, da CERO.


Como es posible? O visto de otro modo, en donde de estoy equivocando?

gracias por la ayuda.

JC

Etiquetas: mails
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:59.