Comunidad de diseño web y desarrollo en internet online

PHPMailer

Citar            
MensajeEscrito el 29 Sep 2008 10:34 pm
Hola, amigos escribo porque tengo un problema que por lo que vi muchas personas tuvieron y no hay respuestas.

Tengo una función hecha para enviar E-Mails através de PHP (PHPMailer) si bien todo el código funciona correctamente me devuelve un error cuando intento enviar un correo a una dirección que se encuentre fuera del servidor SMTP. El script tiene autenticación SMTP por lo que no veo razón para que me devuelva este error.

Language string failed to load: recipients_failed [email protected]

Código :

function Enviar_Mail($Remitente, $Destinatario, $Asunto, $Contenido, $Adjunto){

   require('class.php');

   $Remitente = explode('|', $Remitente);
   $E_Mail = new PHPMailer();
   $E_Mail ->From = $Remitente[0];
   $E_Mail ->FromName = $Remitente[1];
   $E_Mail ->AddAddress($Destinatario);
   $E_Mail ->Subject = $Asunto;   
   $E_Mail ->MsgHTML($Contenido);
   $E_Mail ->IsHTML(true);
   $E_Mail ->IsSMTP(true);
   $E_Mail ->SMTPAuth = true;
   $E_Mail ->Host = 'mail.dominio.com';
    $E_Mail ->Username = '[email protected]';
    $E_Mail ->Password = '**********';
   
   if($Adjunto != ''){
      $E_Mail ->AddAttachment($Adjunto);
   }
   if(!$E_Mail ->Send()){
       $Salida = false;
      echo $E_Mail ->ErrorInfo;
   }
   else{
       $Salida = true;
   }
   return $Salida;
}

Enviar_Mail('[email protected]', '[email protected]', 'Mi Asunto', 'Mi Contenido', NULL);

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 06 Oct 2008 02:43 am
Eh aqui la solucion... (Comprueben a travez de la funcion phpinfo() que el nombre del servidor SMTP sea localhost de lo contrario introduzcan el nombre del Host que figure en la lista de parámetros.)

Código :

function Enviar_Mail($Remitente, $Destinatario, $Asunto, $Contenido, $Adjunto){

   require('class.php');
   
   $Remitente = explode('|', $Remitente);
   $E_Mail = new PHPMailer();
   $E_Mail ->From = $Remitente[0];
   $E_Mail ->FromName = $Remitente[1];
   $E_Mail ->AddAddress($Destinatario);
   $E_Mail ->Subject = $Asunto;
   $E_Mail ->IsHTML(true);   
   $E_Mail ->MsgHTML($Contenido);   
   $E_Mail ->Mailer = "smtp";   
   $E_Mail ->Host = 'localhost';   
   $E_Mail ->SMTPAuth = true;   
   $E_Mail ->Username = '[email protected]';
   $E_Mail ->Password = '*******';
   $E_Mail ->Timeout = 30;
   
   if($Adjunto != ''){
       $E_Mail ->AddAttachment($Adjunto);
   }   
   
   $Envio = $E_Mail ->Send();   
   $Intentos = 1;
   
   while((!$Envio) && ($Intentos < 5)){
      sleep(5);
        $Envio = $E_Mail ->Send();
        $Intentos += 1;   
   } 
      
   if(!$Envio){
      $Salida = 'Se produjo un error al intentar enviar el mensaje. el error se detalla como:<br /><strong>'.$E_Mail->ErrorInfo.'</strong>.';
   }
   else{
      $Salida = 'El mensaje fue enviado correctamente.';
   } 

   return $Salida;
}

echo Enviar_Mail('[email protected]', '[email protected]', 'Mi Asunto', 'Mi Contenido', NULL);


Saludos!! :cool:

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 29 Ago 2011 06:32 am
no pues no me sirvio, ni el ejemplo de la web de phpmailer :s... alguien que tenga el phpmailer funcionando bien con gmail aunque sea?

Por RZ

Claber

118 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 29 Ago 2011 12:34 pm
¿Tu hosting tiene activado OpenSSL?

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 29 Ago 2011 11:32 pm
asi es ya solucione el problema :D. y bueno yo con gmail :D. ahi te dice el smpt real, el puerto, etc. con hotmail no tuve oportunidad :s. pero gmail ya esta listo :D

Por RZ

Claber

118 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 07 Sep 2011 02:28 am
En el FAQ de PHP-MAiler hay una opcion para enviarr correos a 2 o mas personas.
en mi caso hice un formulario de registro en el cual enviaba la informacion a un correo en particular y ademas al correo de la persona que hizo el registro use cabezeras donde el mal lo metia como variable. pero si lo quieres como un mail ya definido solo añades a la cabecera:

Código PHP :

$mail->Host = "localhost";
$mail->From = "[email protected]";
$mail->FromName = "Nombre del Remitente";
$mail->Subject = "Subject del correo";
$mail->AddAddress("[email protected]","Nombre 01");
$mail->AddAddress("[email protected]","Nombre 02");
$mail->AddCC("[email protected]");
$mail->AddBCC("[email protected]");

Salu2 !

Por dsalcedo

50 de clabLevel



Genero:Masculino  

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.