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
| |||
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, |
| |||
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 |
| |||
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. |
| |||
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, |
| |||
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 |
| |||
Cita: 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).
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 Un saludo, |
| |||
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. |
| ||||
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 .. |
| |||
Cita: 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.
Iniciado por rugia 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 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. |
| ||||
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:
la verdad no se que es lo que pasa ..#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 de antemano muchas gracias por tomarte el tiempo y la molestia de ver mis problemas .. en verdad te lo agradezco |
| |||
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. |
| ||||
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. |
| |||
Cita: 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?).
Iniciado por rugia 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. 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. |
| ||||
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:
los datos resaltados en negrita seria los que cambiarian a conveniencia.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"; } ?> 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:
luego probar y ver el resultado.$host = "ssl://smtp.gmail.com"; $port = 465; dejo el link de donde saque la informacion. deepakssn.blogspot.com/2006/06/gmail-php-send-email-using-php-with.html |