top of page
Search

Configurar Smtp De Gmail En Php: Cómo Usar El Servidor SMTP De Google Para Enviar Emails Desde Tu We

selwyn1984


If you have encountered this error, then this is mostly because your server cannot connect to smtp.gmail.com on port 587. This is mostly because your hosting provider has some strict firewall rule which is blocking your server to connect to any other external server over SMTP port 587.




Configurar Smtp De Gmail En Php




Once the page refreshes, scroll down and click the orange Allow plugin to send emails using your Google account button. This will ask you to sign in to your Google account and allow wpmailsmtp.com to access your Gmail email. Click Allow to proceed.


Note: Here the procedure is shown for gmail, but it can be extended to other mails by changing the smtp server, port number. When using gmail take care to enable the option to allow access to less secure webapp.


SMTP hosts: smtp.gmail.com:465 (The port number must be attached to the Server host name for the port to be used. The standard configuration for the port will follow the hostname:port# format.)


Each provider has different environment variables that the Mailer uses toconfigure the actual protocol, address and authentication for delivery. Somealso have options that can be configured with query parameters at the end of theMAILER_DSN - like ?region= for Amazon SES or Mailgun. Some providers supportsending via http, api or smtp. Symfony chooses the best availabletransport, but you can force to use one:


If you want to use the ses+smtp transport together with Messengerto send messages in background,you need to add the ping_threshold parameter to your MAILER_DSN witha value lower than 10: ses+smtp://USERNAME:PASSWORD@default?ping_threshold=9


Super helpful managed to get it working just fine! FYI for anyone else you are required to turn on less secure apps in your gmail account and any good hosting service will have this set up as default this is just for testing on localhost! Have fun!


Host: smtp.gmail.comPort: 587 (or 465 using SSL encryption)Username: Your Gmail account email address ([email protected])Password: You will need to generate an app password in GoogleEncryption: TLS


I have the following error:Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\WinServer\wamp\www\mail.php on line 2


With this I get the 2000 limit in a 24 hour period as it uses only 1 email address. Is there a way to use this as the smtp relay that allows 10,000 emails to send per 24 hour period. Or any way to add in multiple emails to send from?


Connection: opening to smtp.gmail.com:587, timeout=300, options=array ()Connection: Failed to connect to server. Error number 2. Error notice: stream_socket_client(): unable to connect to smtp.gmail.com:587 (Network is unreachable)SMTP ERROR: Failed to connect to server: Network is unreachable (101)SMTP connect() failed.


Una de las curiosidades, o utilidades, de PHPMailer es la posibilidad de enviar email usando elservidor SMTP de Gmail. Puede servirte de utilidad cuando no tienes tu propio servidor deSMTP, aunque personalmente tengo mis reservas y por eso me refiero a ello más como unacuriosidad que otra cosa.No obstante, el ejemplo de envío de email usando los servidores de envío de Gmail esinteresante porque ilustra una de las necesidades que podemos tener en algunos casos, comoes el uso de un servidor SMTP que requiera autenticación. Nota: Si no tienes servidor SMTP en local para envío de emails en PHP, existendiversos programas que te facilitan esa función como el softwarePostCastServer que yacomentamos en DesarrolloWeb.com hace años. La mayoría de los servidoresde hosting (o al menos todos los que he utilizado) tienen un servidor de SMTPdisponible que puedes usar desde PHP. Lo que sí me he encontrado en algunaocasión es con un proveedor de hosting que requiere autenticación SMTP paraenviar correos desde PHP. Para todos estos casos, PHPMailer es un aliadoexcepcional!La idea es bien simple, usar los datos de una cuenta de correo Gmail para enviar los mensajes,indicando en PHPMailer los datos de esa cuenta de Google que vas a usar.Nota: En esta ocasión he simplificado algo el código del ejemplo, pues partedel código está comentado con detalle en el artículo de introducción aPHPMailer. El ejemplo que estoy comentando a continuación está basado enel código que encontramos en la descarga del PHPMailer, en el archivotest_smtp_gmail_basic.php de la carpeta "examples".require_once('../class.phpmailer.php');$mail = new PHPMailer();//indico a la clase que use SMTP$mail>IsSMTP();//permite modo debug para ver mensajes de las cosas que van ocurriendo$mail>SMTPDebug = 2;//Debo de hacer autenticación SMTP$mail>SMTPAuth = true;$mail>SMTPSecure = "ssl";//indico el servidor de Gmail para SMTP$mail>Host = "smtp.gmail.com";//indico el puerto que usa Gmail$mail>Port = 465;//indico un usuario / clave de un usuario de gmail$mail>Username = "tu_correo_electronico_gmail@gmail.com";$mail>Password = "tu clave";$mail>SetFrom('tu_correo_electronico_gmail@gmail.com', 'Nombre completo');$mail>AddReplyTo("tu_correo_electronico_gmail@gmail.com","Nombre completo");$mail>Subject = "Envío de email usando SMTP de Gmail";$mail>MsgHTML("Hola que tal, esto es el cuerpo del mensaje!");//indico destinatario$address = "destinatario@delcorreoe.com";$mail>AddAddress($address, "Nombre completo");if(!$mail>Send()) echo "Error al enviar: " . $mail>ErrorInfo; else echo "Mensaje enviado!";Este código está comentado, por lo que se puede entender bastante bien. Solo llamar laatención sobre el tema del "debug" del servicio SMTP $mail>SMTPDebug = 2; Con esto leindicamos que nos muestre mensajes del proceso de comunicación con el servidor SMTP queestemos usando, así como posibles errores. Podríamos colocarle también como valor elnúmero 1, para decirle que solo nos muestre mensajes de error encontrados. O bien, si noasignamos nada en la propiedad SMTPDebug, no nos mostrará ningún mensaje adicional a losque PHPMailer ya muestra de manera predeterminada. Nota: Mediante un script similar también podríamos enviar email desdePHP usando servidores SMTP de otros proveedores gratuitos comoHotmail (ahora Outlook.com) o el que tengas. Simplemente tienes quesaber los datos de configuración de ese servicio (dirección de email,servidor de SMTP, usuario y clave, así como el puerto). Simplemente setrataría de indicar todos datos de esa cuenta de correo que pretendesusar.Posibles problemas al usar otro servidor SMTP autenticado desde PHPEste ejemplo de uso de PHPMailer puede acarrear diversos problemillas que quizás nos haganperder alguna hora de trabajo. Nada que no se pueda resolver con un rato de pruebas y algo decalma, pero para simplificarte la vida te comento cómo me ha ido a mi.Este ejemplo lo he conseguido hacer funcionar en dos ordenadores distintos. En mi ordenadorcon Linux, donde he instalado PHP siguiendo las indicaciones del artículo Instalar Lamp: Apache MySQL PHP, en Linux, he corrido el scriptcon éxito y me ha enviado el correo a la primera!Pero claro, como todo en la vida no siempre te salen las cosas a la primera y en mi otroordenador, con un sistema Windows con donde tengo instalado PHP por medio de Xampp, nohe tenido la misma suerte. Sin embargo, la solución es bien sencilla. Nota: Lo primero, claro está, es comprobar que tu cuenta Gmail estáperfectamente especificada. Me refiero al nombre de usuario y la contraseñade Gmail, que debes haber indicado en el las propiedades $mail>Usernamey $mail>Password. Lo segundo es verificar el puerto, que en mi caso hafuncionado con el valor 465.Desde el sistema Windows con Xampp recibo el siguiente mensaje de error "Unable to find thesocket transport 'ssl' did you forget to enable it when you configured PHP?"La solución pasa por activar la extensión openssl de PHP, para lo que he descomentado en elphp.ini la línea (quitado el punto y coma ";" al principio):extension=php_openssl.dllDespués de esa pequeña configuración, y reiniciado el Apache (por supuesto), se puede enviarsin problemas el email desde mi Xampp instalado en Windows.Conclusión sobre PHPMailerSi alguna vez has intentado enviar un archivo adjunto en un email con PHP, habrás comprobadoque no era algo inmediato. Si alguna vez has intentado usar un servidor SMTP desde PHP querequiera autenticación, probablemente te habrás vuelto loco al intentar configurar PHP. Si algunavez quisiste enviar un correo en PHP usando un servidor SMTP no configurado en el php.ini,quizás te habrás dado de cara contra una pared.Si quieres salvar todas esas barreras y seguro que muchas otras, tienes la opción de usarPHPMailer que funciona muy bien, simplifica tareas de envío de email avanzadas y te da soportea muchas cosas que quizás no sabías hacer de otra manera.Este artículo ha partido de la base que conocías las características fundamentales dePHPMailer, relatadas en una publicación anterior. Por lo que te recomendamos leer de nuevodicho artículo si piensas que nos hemos dejado en el aire ciertas cosas. Pero en definitiva,creemos que PHPMailer es una clase importante a tener en cuenta. (adsbygoogle = window.adsbygoogle []).push(); Miguel Angel Alvarez


In performing your own test(s), you may use the body and subject line text as-is, or change them to your liking. However, in place of your_email_address, use a valid email address. The domain can be gmail.com, fastmail.com, yahoo.com, or any other email service provider that you use.


ojs2 has produced an error Message: WARNING: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:465 (Network is unreachable) In file: /home/insajour/public_html/insaj/lib/pkp/classes/mail/SMTPMailer.inc.php At line: 165 Stacktrace: Server info: OS: Linux PHP Version: 5.3.29 Apache Version: N/A DB Driver: mysql DB server version: 5.5.48-cll 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


  • w-facebook
  • Twitter Clean
  • W-Pinterest

© 2023 by THE HOPE CENTER. Proudly created with Wix.com

bottom of page