Foros del Web » Programando para Internet » PHP »

Mails Masivos Con Php

Estas en el tema de Mails Masivos Con Php en el foro de PHP en Foros del Web. Hola, estoy tratando de enviar mails masivos desde una PC LINUX, PIII y la distribucion es Fedora 2, uso PHP 5 Bueno yo extraigo de ...
  #1 (permalink)  
Antiguo 04/10/2006, 16:12
 
Fecha de Ingreso: octubre-2006
Mensajes: 2
Antigüedad: 17 años, 6 meses
Puntos: 0
Mails Masivos Con Php

Hola, estoy tratando de enviar mails masivos desde una PC LINUX, PIII y la distribucion es Fedora 2, uso PHP 5

Bueno yo extraigo de una Base de Datos los registros de mi proveedores y a cada uno le envio su usuario y password para que ingresen a mi portal, el problema en si es el siguiente:
He hecho la prueba enviando los 180 proveedores (en realidad son mas de 5 mil)
con cuentas de correo "[email protected]" o "[email protected]" y sale perfecto, el problema es cuando envio con la cuenta real de mis proveedores por ejemplo "[email protected]" y el demomio por donde lo envio se cuelga y no sale nada.

les envio el codigo en PHP y la salida en el /var/spool/root para que me puedan aconsejar.

Por se acaso, la lectura de registros esta OK, el problema creo yo que esta en send_mail()

Código:
$dataset = $o_proveedor->envio_masivo();
$i=0;
$enviados = 0;
$correctos = 0;
for($i=0; $i<$dataset->nr ; $i++){
 
  $mail = trim($dataset->data[$i]["email"]);
  $ruc = trim($dataset->data[$i]["ruc"]);
  $contrasena = trim($dataset->data[$i]["contrasena"]);
  $nombre = trim($dataset->data[$i]["nombre"]);
  $detalle_mail = "Acceso Para  $nombre -> Nombre de Usuario :$ruc   Contraseña:$contrasena";
  $mensaje_mail = $introduccion_masivo.$detalle_mail.$fin_masivo;
  
  if(comprobar_email($mail)){
      $correctos++;
       set_time_limit(300);  	      
      if(@mail($mail,$asunto_masivo,$mensaje_mail,$cabecera_mail)){
	$enviados ++;
      }//if

     
   }//if 
   

}//while

$o_proveedor->vacia_masivo();
echo '<br />Enviamos '.$enviados.' mails';
echo '<br />Correctos '.$correctos.' mails';
y eso sale en el log del root (cuando no envia)
lo envios lo hago desde la consola con el curl

Código:
--k94MLIqB027589.1160000607/localhost.localdomain--

From [email protected]  Wed Oct  4 17:36:01 2006
Return-Path: <[email protected]>
Received: from localhost (localhost)
	by localhost.localdomain (8.13.5/8.13.5) id k94MLIqC027589;
	Wed, 4 Oct 2006 17:36:01 -0500
Date: Wed, 4 Oct 2006 17:36:01 -0500
From: Mail Delivery Subsystem <[email protected]>
Message-Id: <[email protected]>
To: <[email protected]>
To: [email protected]
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
	boundary="k94MLIqC027589.1160001361/localhost.localdomain"
Content-Transfer-Encoding: 8bit
Subject: Returned mail: see transcript for details
Auto-Submitted: auto-generated (failure)

This is a MIME-encapsulated message

--k94MLIqC027589.1160001361/localhost.localdomain

The original message was received at Wed, 4 Oct 2006 15:37:38 -0500
from wwwsolomon [127.0.0.1]

   ----- The following addresses had permanent fatal errors -----
<[email protected]>
    (reason: 450 <[email protected]>: Sender address rejected: Domain not found)

   ----- Transcript of session follows -----
... while talking to smtpmx.terra.com.pe.:
>>> RSET
<<< 421 xnmlmtp3.terra.com Error: too many errors
554 5.3.5 deliver: mci=80dcc9c rcode=0 errno=0 state=0 sig=smtpmx.terra.com.pe.
554 5.3.0 Internal error

--k94MLIqC027589.1160001361/localhost.localdomain
Content-Type: message/delivery-status

Reporting-MTA: dns; localhost.localdomain
Arrival-Date: Wed, 4 Oct 2006 15:37:38 -0500

Final-Recipient: RFC822; [email protected]
Action: failed
Status: 4.2.0
Diagnostic-Code: SMTP; 450 <[email protected]>: Sender address rejected: Domain not found
Last-Attempt-Date: Wed, 4 Oct 2006 17:36:01 -0500

--k94MLIqC027589.1160001361/localhost.localdomain
Content-Type: message/rfc822
Content-Transfer-Encoding: 8bit

Return-Path: <[email protected]>
Received: from localhost.localdomain (wwwsolomon [127.0.0.1])
	by localhost.localdomain (8.13.5/8.13.5) with ESMTP id k94KbcmY021986
	for <[email protected]>; Wed, 4 Oct 2006 15:37:38 -0500
Received: (from nobody@localhost)
	by localhost.localdomain (8.13.5/8.13.5/Submit) id k94Kbb7C021985;
	Wed, 4 Oct 2006 15:37:37 -0500
Date: Wed, 4 Oct 2006 15:37:37 -0500
Message-Id: <[email protected]>
To: [email protected]
Subject: Acceso al Portal de Franquicias Peru
From: [email protected]
Reply-To: [email protected]
X-Mailer: PHP/5.1.4

Por favor diganme que puede ser, en realidad necesito su consejo.
  #2 (permalink)  
Antiguo 04/10/2006, 16:26
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Exclamación

rbocanegra Por favor ABRE un nuevo post. En este post se esta tratando otro tema.
  #3 (permalink)  
Antiguo 04/10/2006, 17:09
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por mauled Ver Mensaje
rbocanegra Por favor ABRE un nuevo post. En este post se esta tratando otro tema.
Lo hago yo...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 04/10/2006, 17:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Observa los mensajes de error:

Cita:
<[email protected]>
(reason: 450 <[email protected]>: Sender address rejected: Domain not found)
Hace referencia a una dirección de correo .. lo más probable que no tengas definido la cabecera "FROM" o no esté correcta. De hecho en el código que presentas no se aprecia donde defines: $cabecera_mail

Te invito a leer la documentación oficial sobre la función mail() .. observa también el 5° parámetro que con PHP 5 puedes usar (ya que parece que usas sendmail como MTA en tu instalación de Fedora ... y bajo PHP:

http://www.php.net/manual/en/function.mail.php

Cita:
additional_parameters (optional)
The additional_parameters parameter can be used to pass an additional parameter to the program configured to use when sending mail using the sendmail_path configuration setting. For example, this can be used to set the envelope sender address when using sendmail with the -f sendmail option.

The user that the webserver runs as should be added as a trusted user to the sendmail configuration to prevent a 'X-Warning' header from being added to the message when the envelope sender (-f) is set using this method. For sendmail users, this file is /etc/mail/trusted-users.
Y por otro lado te dice que tiene demasiadas conexiones!

Cita:
<<< 421 xnmlmtp3.terra.com Error: too many errors
Este mensaje de error ya no depende de tí .. sino que ese proveedor no acepta tantas conexiones por cierto tiempo o está "saturado" con otras conexiones simultáneas en ese instante.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 05:08.