swift_attachment installing example php email-attachments swiftmailer

php - installing - Swift_TransportException La conexión no se pudo establecer con el host smtp.gmail.com



swiftmailer requirements (11)

Error grave: no se detectó la excepción ''Swift_TransportException'' con mensaje ''No se pudo establecer la conexión con el host smtp.gmail.com [Conexión rechazada n. ° 111]

La conexión rechazada es un mensaje de error muy explícito y claro. Significa que la conexión de socket no se pudo establecer porque el extremo remoto se negó activamente a conectarse.

Es muy poco probable que Google esté bloqueando la conexión.

Es muy probable que su proveedor de alojamiento web tenga configuraciones de firewall que bloqueen las conexiones salientes en el puerto 465, o que estén bloqueando el SMTP a Gmail. 465 es el puerto "incorrecto" para SMTP seguro, aunque a menudo se usa, y Gmail sí escucha. Pruebe el puerto 587 en su lugar. Si aún se rechaza la conexión, llama a tu anfitrión y pregúntales qué hay de nuevo.

No puedo imaginar por mi vida por qué exactamente está fallando ... este es el error exacto que estoy recibiendo:

Fatal error: Uncaught exception ''Swift_TransportException'' with message ''Connection could not be established with host smtp.gmail.com [Connection refused #111]'' in /home/content/38/6896038/html/test/lib/classes/Swift/Transport/StreamBuffer.php:259 Stack trace: #0 /home/content/38/6896038/html/test/lib/classes/Swift/Transport/StreamBuffer.php(64): Swift_Transport_StreamBuffer->_establishSocketConnection() #1 /home/content/38/6896038/html/test/lib/classes/Swift/Transport/AbstractSmtpTransport.php(115): Swift_Transport_StreamBuffer->initialize(Array) #2 /home/content/38/6896038/html/test/lib/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start() #3 /home/content/38/6896038/html/test/contact.php(55): Swift_Mailer->send(Object(Swift_Message)) #4 {main} thrown in /home/content/38/6896038/html/test/lib/classes/Swift/Transport/StreamBuffer.php on line 259

Y el código que estoy usando es lo que obtuve del tutorial y leyendo aquí ejemplos, aquí está:

require_once ''lib/swift_required.php''; $transport = Swift_MailTransport::newInstance(); // Create the Transport the call setUsername() and setPassword() $transport = Swift_SmtpTransport::newInstance(''smtp.gmail.com'', 465, ''ssl'') ->setUsername(''[email protected]'') ->setPassword(''xxx'') ; // Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport); $nombre = $_POST[''name'']; $apellido = $_POST[''apellido'']; $email = $_POST[''email'']; $telefono = $_POST[''telefono'']; $title = $_POST[''jobtitle'']; // Create the message $message = Swift_Message::newInstance() // Give the message a subject ->setSubject(''Nuevo applicante para: '' . $title) // Set the From address with an associative array ->setFrom(array(''[email protected]'' => ''no-reply'')) // Set the To addresses with an associative array ->setTo(''[email protected]'') // Give it a body ->setBody(''<html> <head></head> <body> <table> <tr> <td>Nombre:</td><td>'' . $nombre . '' '' . $apellido .''</td> </tr> <tr> <td>Email:</td><td>'' . $email . ''</td> </tr> <tr> <td>Telefono:</td><td>''. $telefono .''</td> </tr> </table> </body> </html>'', ''text/html'') // Optionally add any attachments ->attach(Swift_Attachment::fromPath($_FILES["file"]["tmp_name"])->setFilename($_FILES[''file''][''name''])); // Send the message $result = $mailer->send($message);

cualquier ayuda es muy apreciada, he hecho mi lectura y búsqueda y no puedo encontrar una solución para esto :(

EDITAR: Aparentemente es un problema con gmail, cambié a un smtp diferente y funcionó ...: S


Acabo de tener este problema y lo resolví editando mail.php en la carpeta de configuración. Por lo general, cuando se utiliza el alojamiento compartido, la empresa de alojamiento le permite crear un correo electrónico como

[email protected]

. Así que vaya a la configuración de correo electrónico debajo de cpanel de alojamiento compartido y agregue un nuevo correo electrónico. Tome ese correo electrónico y contraseña y colóquelo en la

mail.php.

¡Deberia de funcionar!


En mi caso, estaba usando Laravel 5 y me había olvidado de cambiar las globales de correo en el archivo .env que se encuentra en la carpeta raíz de su directorio (estas variables anulan su configuración de correo)

MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=465 [email protected] MAIL_PASSWORD=yourpassword

Por defecto, el correo es:

MAIL_HOST=mailtraper.io

Estaba recibiendo el mismo error pero eso funcionó para mí.


En mi caso, tuve problemas con GoDaddy y el cifrado SSL.

La configuración del cifrado en Nulo y el Puerto en 80 (O cualquier puerto de soporte) hizo el trabajo.


En primer lugar, compruebe el servidor SMTP de Gmail. debería tener que permitir el acceso a las aplicaciones menos seguras sin permitir que Swift Mailer no sea posible. Para este inicio de sesión en su cuenta de correo electrónico, luego ingrese a la configuración de privacidad y luego haga clic en firmar y seguridad, luego haga clic en aplicaciones sin acceso y luego haga clic Asegure la opción de aplicaciones y luego intente el envío por correo de nuevo, entonces funcionará.


Mi solución fue cambiar:

''driver'' => ''smtp'',

a

''driver'' => ''mail'',

En app / config / mail

Espero que ayude


Tuve el mismo problema cuando estaba usando el alojamiento web Godaddy y resolví esto editando mi archivo .env como

MAIL_DRIVER=smtp MAIL_HOST=XXXX.XXXX.in MAIL_PORT=587 MAIL_USERNAME=dexxxxx MAIL_PASSWORD=XXXXXXXX MAIL_ENCRYPTION=tls

Donde MAIL_HOST es su nombre de dominio de GoDaddy, MAIL_USERNAME es su nombre de usuario de GoDaddy y MAIL_PASSWORD es su contraseña de GoDaddy.

Espero que esto te pueda ayudar.


Tuve el mismo problema por un tiempo, reemplazando: smtp.gmail.com con 173.194.65.108 realmente funcionó para mí!


Tuve el mismo problema y puedo arreglarlo al deshabilitar mi AVAST Anti Virus. Así como mi extensión AVAST en el navegador. El antivirus a veces bloquea tu aplicación. :) Espero que ayude a cualquiera.


tcp: 465 fue bloqueado. Intente agregar nuevas reglas de firewall y agregar un puerto de reglas 465. o marque 587 y cambie el cifrado a tls.


elimínelo de su spool: { type: memory } configuración.yml spool: { type: memory }

Entonces deberás agregar intentar atrapar así.

try{ $mailer = $this->getMailer(); $response = $this->getMailer()->send($message); }catch(/Swift_TransportException $e){ $response = $e->getMessage() ; }