Foros del Web » Programando para Internet » PHP »

phpmailer() y smtp

Estas en el tema de phpmailer() y smtp en el foro de PHP en Foros del Web. salu2, estoy trabajando con la clase phpmailer(), pero me interesaria emplear un servidor smtp que NO requiera autentificación... alguien me puede recomendar alguno? gracias...
  #1 (permalink)  
Antiguo 23/05/2005, 19:12
okram
Invitado
 
Mensajes: n/a
Puntos:
Pregunta phpmailer() y smtp

salu2, estoy trabajando con la clase phpmailer(), pero me interesaria emplear un servidor smtp que NO requiera autentificación... alguien me puede recomendar alguno?

gracias
  #2 (permalink)  
Antiguo 24/05/2005, 10:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Pero .. vas a trabajar con tus servidores própios (como para poder instalar un servidor SMTP en ese servidor?) o quieres un servidor SMTP "público" que no requiera autentificación? (eso hoy por hoy con la avalancha de SPAM que hay será dificil encontrar).

Además .. y de todas formas .. PHP Mailer permite usar servidores SMTP que requieran autentificación (esa es la "gracia" de PHP Mailer entre otras cosas).

Un saludo,
  #3 (permalink)  
Antiguo 24/05/2005, 16:01
okram
Invitado
 
Mensajes: n/a
Puntos:
lo que busco en un serviidor smtp publico. Intente usar el smtp de yahoo, gmail, hotpop, etc. pero todos em lanzan un mensaje de error.
Por eso es q intento encontrar alguno que no requiera autentificacion. o que servidor smtp me recomiendan?

salu2
  #4 (permalink)  
Antiguo 24/05/2005, 16:14
okram
Invitado
 
Mensajes: n/a
Puntos:
los mensajes de error son estos:

YAHOO -> Email Error: PASSWORD invalid mail server response: 535 authorization failed (#5.7.0)

GMAIL -> Email Error: AUTH LOGIN invalid mail server response: 530 5.7.0 Must issue a STARTTLS command first
Maybe your SMTP Server does'nt support authentification. Try to leave Username and Password blank in your settings

HOTPOP -> Email Error: RCPT TO invalid mail server response: 550 : Sender address rejected: Access Denied: This server is for HotPOP.com users ONLY, email [email protected] for assistance.
  #5 (permalink)  
Antiguo 25/05/2005, 06:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
No sé si conoces como funciona PHP Mailer .. pero justamente esa classe te permite autentificarte .. así que create una cuenta en "www.hotpop.com" por ejemplo y la usas (con su correspondiente contraseña).

No le des más vueltas a encontrar un servidor SMTP "libre y público" .. si lo llegas a encontrar es altamente probable que tus e-mails sean clasificados como SPAM .. justamente por no ser un servidor SMTP seguro.

Un saludo,
  #6 (permalink)  
Antiguo 25/05/2005, 18:33
okram
Invitado
 
Mensajes: n/a
Puntos:
gracias por la respuesta Cluster... al principio use una cuenta con hotpop y una en yahoo.com pero me mandaba los mensajes de error q expuse antes, pero ahora he creado una en yahoo.ca y trabaja excelente... no c porq no recibia al yahoo.com...

bueno gracias un saludo
  #7 (permalink)  
Antiguo 26/05/2005, 08:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por okram
gracias por la respuesta Cluster... al principio use una cuenta con hotpop y una en yahoo.com pero me mandaba los mensajes de error q expuse antes, pero ahora he creado una en yahoo.ca y trabaja excelente... no c porq no recibia al yahoo.com...

bueno gracias un saludo
Pero .. en esas cuentas que has usado de hotpop.com y demás .. cara al uso de PHP Mailer .. simpre colocastes los datos de autentificación (usuario/contraseña) de estas o no? .. Por qué lo dicho .. PHP Mailer autentifica contra servidores SMTP que lo requieran (a lo mejor no todos los métodos de autentificación están implementados .. pero los más comunues funcionan).

Un saludo,
  #8 (permalink)  
Antiguo 26/05/2005, 10:17
okram
Invitado
 
Mensajes: n/a
Puntos:
claro, todos los datos eran los correctos, y me lanzaba esos mensajes de mas arriba.... bueno gracias salu2
  #9 (permalink)  
Antiguo 24/08/2006, 11:12
Avatar de rugia  
Fecha de Ingreso: agosto-2006
Mensajes: 18
Antigüedad: 18 años, 3 meses
Puntos: 0
A mi no me marca el ya preguntado error de auntetificacion si no este:

Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/rugia/class.smtp.php on line 87

Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.hotpop.com:25 (Unknown error) in /home/rugia/class.smtp.php on line 87

en la linea 87 de la clase smtp esta :

$tval); # give up after ? secs

asi que la verdad no se que pueda ser ...

de antemano gracias ..
  #10 (permalink)  
Antiguo 24/08/2006, 11:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Aunque ha pasado un tiempo desde estos mensajes .. Por lo que (ahora) sé que Gmail por lo menos usa autentificación bajo SSL/TLS .. así que si usamos PHPMailer hay que hacerle algunos ajustes.

http://www.forosdelweb.com/f18/problema-con-php-mailer-409792/

El mensaje hace referencia a los problemas de conexión .. principalmente dados por uso de firewall's lo más probable por médio (o antivirus con esas funcionalidades).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 24/08/2006, 11:55
Avatar de rugia  
Fecha de Ingreso: agosto-2006
Mensajes: 18
Antigüedad: 18 años, 3 meses
Puntos: 0
Aun dando acceso al puerto 25 desde el firewall del sp2 me sale el error, mi pregunta es: al servidor donde yo suba los archivos tienen que tener alguna aplicacion especial para el envio de mails y attachments?

porque tengo la cuenta de hotpop de donde saco los datos, pero donde estan mis phps estan en un servidor de la universidad donde estudiaba

Última edición por rugia; 24/08/2006 a las 11:57 Razón: mas info ..
  #12 (permalink)  
Antiguo 24/08/2006, 12:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por rugia Ver Mensaje
Aun dando acceso al puerto 25 desde el firewall del sp2 me sale el error, mi pregunta es: al servidor donde yo suba los archivos tienen que tener alguna aplicacion especial para el envio de mails y attachments?

porque tengo la cuenta de hotpop de donde saco los datos, pero donde estan mis phps estan en un servidor de la universidad donde estudiaba
El problema es que las conexiones a Gmail se hacen por SSL y ese es otro puerto .. SSL/TSL creo que vá por el 465 .. de todas formas para ratificar esto, desactiva tu firewall para las pruebas y luego ya veras que puerto será el que tengas que abrir.

Por cierto . .no sé si te conecatas a Gmail o a que servidor de correo ..

Cuando subes tus archivos a tu servidor .. si vas a seguir usando PHPMailer ... lo que necesitas es lo mismo que en tu "casa": el servidor SMTP (host) ... el usuario y password de la cuenta de correo de ese servidor que corresponda (para que te puedas autentificar).

Si hay más restricciones (como de puertos o de sockets) ya los veras y tendras que tratarlo con tu proveedor.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 24/08/2006, 12:37
Avatar de rugia  
Fecha de Ingreso: agosto-2006
Mensajes: 18
Antigüedad: 18 años, 3 meses
Puntos: 0
Prueba
Código:
<?
  // primero hay que incluir la clase phpmailer para poder instanciar
  //un objeto de la misma
  require "class.phpmailer.php";

  //instanciamos un objeto de la clase phpmailer al que llamamos 
  //por ejemplo mail
  $mail = new phpmailer();

  //Definimos las propiedades y llamamos a los métodos 
  //correspondientes del objeto mail

  //Con PluginDir le indicamos a la clase phpmailer donde se 
  //encuentra la clase smtp que como he comentado al principio de 
  //este ejemplo va a estar en el subdirectorio includes
  //---------> $mail->PluginDir = "includes/";

  //Con la propiedad Mailer le indicamos que vamos a usar un 
  //servidor smtp
  $mail->Mailer = "smtp";

  //Asignamos a Host el nombre de nuestro servidor smtp
  $mail->Host = "smtp.hotpop.com";

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

  //Le decimos cual es nuestro nombre de usuario y password
  $mail->Username = "*****"; 
  $mail->Password = "*****";

  //Indicamos cual es nuestra dirección de correo y el nombre que 
  //queremos que vea el usuario que lee nuestro correo
  $mail->From = "[email protected]";
  $mail->FromName = "Rafa";

  //el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar 
  //una cuenta gratuita, por tanto lo pongo a 30  
  $mail->Timeout=20;

  //Indicamos cual es la dirección de destino del correo
  $mail->AddAddress("[email protected]");

  //Asignamos asunto y cuerpo del mensaje
  //El cuerpo del mensaje lo ponemos en formato html, haciendo 
  //que se vea en negrita
  $mail->Subject = "Prueba de phpmailer";
  $mail->Body = "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";

  //Definimos AltBody por si el destinatario del correo no admite email con formato html 
  $mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";

  //se envia el mensaje, si no ha habido problemas 
  //la variable $exito tendra el valor true
  $exito = $mail->Send();

  //Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho 
  //para intentar enviar el mensaje, cada intento se hara 5 segundos despues 
  //del anterior, para ello se usa la funcion sleep	
  $intentos=1; 
  while ((!$exito) && ($intentos < 5)) {
	sleep(5);
     	//echo $mail->ErrorInfo;
     	$exito = $mail->Send();
     	$intentos=$intentos+1;	
	
   }
 
		
   if(!$exito)
   {
	echo "Problemas enviando correo electrónico a ".$valor;
	echo "<br/>".$mail->ErrorInfo;	
   }
   else
   {
	echo "Mensaje enviado correctamente";
   } 
?>

Ahora el SMTP la linea 87 donde me marca el error :

Código:
        #connect to the smtp server
        $this->smtp_conn = fsockopen($host,    # the host of the server
                                     $port,    # the port to use
                                     $errno,   # error number if any
                                     $errstr,  # error message if any
                                     $tval);   # give up after ? secs
la verdad no se que es lo que pasa ..
de antemano muchas gracias por tomarte el tiempo y la molestia de ver mis problemas .. en verdad te lo agradezco
  #14 (permalink)  
Antiguo 24/08/2006, 14:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Pero, insisto ..

A que proveedor te estas conectando (servidor SMTP) .. hotpop.com? o cual?

Revisa que ese proveedor/cuenta funcione (por ejemplo hotpop.com yo tengo cuentas ahí y lo que es ayer me dió problemas de conexión por decir un ejemplo ...) comprobandolo con tu cliente de correo tipo Outlook o el que uses.

Desactiva para tus pruebas tu firewall .. y revisa si usas más firewall's por medio (en antivirus .. por ejemplo) o sofware en general que filtre esos puertos (Hay un montón de genete que no sabe ni lo que usa en sus "PC's" no digo que sea tu caso, pero lo he visto muchas veces aquí).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 24/08/2006, 15:22
Avatar de rugia  
Fecha de Ingreso: agosto-2006
Mensajes: 18
Antigüedad: 18 años, 3 meses
Puntos: 0
Por ahora estoy usando HotPop, pero ya eh tratado el gmail y uno mas que me han proporcionado, en todos me marca el error antes mostrado.
No tengo antivirus, tengo el SP2 de windows y el Firewall tiene acceso al puerto 25 y al 465 de gmail, aun asi no se conecta y tambien lo tengo desactivado para las pruebas ...

Sigo muy agradecido por querer echarme la mano.
  #16 (permalink)  
Antiguo 24/08/2006, 16:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por rugia Ver Mensaje
Por ahora estoy usando HotPop, pero ya eh tratado el gmail y uno mas que me han proporcionado, en todos me marca el error antes mostrado.
No tengo antivirus, tengo el SP2 de windows y el Firewall tiene acceso al puerto 25 y al 465 de gmail, aun asi no se conecta y tambien lo tengo desactivado para las pruebas ...

Sigo muy agradecido por querer echarme la mano.
Para el caso concreto de Gmail ya se ha comentado en este mensaje (lo dije yo mismo hace poco) que usa conexión SSL/TSL y para eso hay que modificar PHPMailer (la classe, lo has hecho?).

No sé si a su vez tu conexión a internet pasa por algún router de tu proveedor o LAN ... revisa que eso a su vez tenga los puertos abiertos correspondientes.

Haz probado a desactivar por completo tu Firewall?. Reamante tienes un problema de conexión y no creo que sea de PHP ni de PHPMailer sino de algo que pasa tu conexión por médio que la está bloqueando.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 12/11/2009, 09:51
Avatar de dargor  
Fecha de Ingreso: octubre-2009
Mensajes: 134
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: phpmailer() y smtp

SOLUCION
he leido varios mensajes relacionados con este tema de usar php mailer con gmail, despues de tanto recorrer san Google, di con esta solucion, comprobada y funcional. Por si alguien en el futuro se encuentra con el problema.

Código:
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "[email protected]"; // SMTP username
$mail->Password = "password"; // SMTP password
$webmaster_email = "[email protected]"; //Reply to this email ID
$email="[email protected]"; // Recipients email ID
$name="name"; // Recipient's name
$mail->From = $webmaster_email;
$mail->FromName = "Webmaster";
$mail->AddAddress($email,$name);
$mail->AddReplyTo($webmaster_email,"Webmaster");
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject = "This is the subject";
$mail->Body = "Hi,This is the HTML BODY "; //HTML Body
$mail->AltBody = "This is the body when user views in plain text format"; //Text Body
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>
los datos resaltados en negrita seria los que cambiarian a conveniencia.

luego en el archivo class.smtp.php, agregar el siguiente codigo antes de "connect to the smtp server" mas o menos en la linea # 127 en la version 5.1.

Código:
$host = "ssl://smtp.gmail.com";
$port = 465;
luego probar y ver el resultado.

dejo el link de donde saque la informacion.

deepakssn.blogspot.com/2006/06/gmail-php-send-email-using-php-with.html
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:47.