Foros del Web » Programando para Internet » PHP »

PHPMailer... no entiendo por qué funciona

Estas en el tema de PHPMailer... no entiendo por qué funciona en el foro de PHP en Foros del Web. Buenas, Lo primero comentar por si alguien le sirve de ayuda cómo he logrado usar GMail con PHPMailer: tras los cambios en GMail y que ...
  #1 (permalink)  
Antiguo 23/04/2010, 10:14
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
PHPMailer... no entiendo por qué funciona

Buenas,

Lo primero comentar por si alguien le sirve de ayuda cómo he logrado usar GMail con PHPMailer: tras los cambios en GMail y que comencé a usar PHPMailer ha sido un quebradero de cabeza, pues cambió la forma de conectar, y no funciona el código que viene en la web oficial de PHPMailer... hasta que por casualidad me función comentando la línea:

//$mail->IsSMTP();

Una vez lo solucioné, vengo a plantear una duda que tengo de POR QUÉ FUNCIONA este código, pues funciona quitando los datos de una cuenta existente (usuario y password) que se supone (según los ejemplos que he visto) que se usa para el envío.

Y si pongo unos datos no válidos, funciona también.

Y también poniendo: "$mail->SMTPAuth = false;" en lugar de true.

Los correos llegan desde GMail, lo he comprobado.

ACTUALIZADO: sigo investigando y veo que los correos se están enviando a través de mi proveedor de hosting, en enviado por pone una cadena terminada en "secureserver.net" que es de mi hosting (es esto normal?). Mirando el php.ini del hosting ponia "SMTP = relay-hosting.secureserver.net" y lo cambié a "SMTP = smtp.google.com" pero sigue todo igual... el envío se hace siempre desde secureserver... estoy confuso y no se si se me escapa algo :)

Código:
$mail = new PHPMailer();

// DATOS SERVIDOR CORREO:
$mail->Host = "smtp.gmail.com";

$mail->SMTPAuth = true;	// Indicamos que el servidor requiere autenticación

$mail->SMTPSecure = "tls";
$mail->Port = "587";

//$mail->IsSMTP();	// Por alguna razón si no se quita, da error ¿?

// DATOS ACCESO SERVIDOR CORREO: ¿por que funciona comentándolo??
//$mail->Username = "[email protected]";
//$mail->Password = "poner_el_password";

// FROM (nuestra dirección de correo y el nombre que queremos que vea el usuario que lee nuestro correo):
$mail->From = "[email protected]";
$mail->FromName = "nombre_remitente";

// DESTINATARIO:
$mail->AddAddress("[email protected]", "DESTINATARIO");

// ASUNTO:
$mail->Subject = "el_asunto";

// CUERPO:
$mail->IsHTML(true);

// ... si el proveedor de correo de destino no soporta HTML
$mail->AltBody = "el mensaje aqui";

// ... en HTML
//$mail->Body = "<b>el mensaje aqui</b>";

// DEBUG
$mail->SMTPDebug = 2;

if(!$mail->Send()) {
    echo "error!";
} else {
    echo "ok!";
}

Última edición por MikiBroki; 23/04/2010 a las 10:40
  #2 (permalink)  
Antiguo 23/04/2010, 11:03
Avatar de dyegox  
Fecha de Ingreso: enero-2008
Mensajes: 173
Antigüedad: 16 años, 3 meses
Puntos: 7
Respuesta: PHPMailer... no entiendo por qué funciona

yo uso actualmente este codigo y me funciona perfecto..

Código PHP:
Ver original
  1. $mail             = new PHPMailer();
  2.  
  3.     $mail->IsSMTP();
  4.     $mail->SMTPAuth   = true;
  5.     $mail->SMTPSecure = "ssl";
  6.     $mail->Host       = "smtp.gmail.com";
  7.     $mail->Port       = 465;
  8.  
  9.     $mail->Username = '[email protected]';
  10.     $mail->Password = 'CONTRASEÑA';
  11.  
  12.     $mail->From       = "[email protected]";
  13.     $mail->FromName   = "TU NOMBRE";
  14.     $mail->Subject    = "SUBJECT";
  15.     $mail->Body       = "MENSAJE";
  16.  
  17.     $mail->AddAddress("[email protected]", "NOMBRE DE DESTINATARIO");
  18.  
  19.     $mail->Send();

Etiquetas: phpmailer
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 22:57.