email - En el host remoto: no se pudo establecer la conexión con el host smtp.gmail.com
symfony1 (5)
Tomé estas instrucciones directamente del sitio de gmail.
tienes que usar @ gmail.com en tu nombre de usuario.
Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication)
Use Authentication: Yes
Use STARTTLS: Yes (some clients call this SSL)
Port: 465 or 587
Account Name: your full email address (including @gmail.com)
Google Apps users, please enter username@your_domain.com
Password: your Gmail password
Después de la implementación, obtengo este error a continuación cuando intento enviar un correo electrónico:
500 | Error interno del servidor | No se pudo establecer la conexión Swift_TransportException con el host smtp.gmail.com [Connection timed out # 110] trace trace
* at ()
in SF_ROOT_DIR/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/StreamBuffer.php line 235 ...
232. }
233. if (!$this->_stream = fsockopen($host, $this->_params[''port''], $errno, $errstr, $timeout))
234. {
235. throw new Swift_TransportException(
236. ''Connection could not be established with host '' . $this->_params[''host''] .
237. '' ['' . $errstr . '' #'' . $errno . '']''
238. );
* at Swift_Transport_StreamBuffer->_establishSocketConnection()
in SF_ROOT_DIR/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/StreamBuffer.php line 70 ...
67. break;
68. case self::TYPE_SOCKET:
69. default:
70. $this->_establishSocketConnection();
71. break;
72. }
73. }
* at Swift_Transport_StreamBuffer->initialize(array(''protocol'' => ''ssl'', ''host'' => ''smtp.gmail.com'', ''port'' => 465, ''timeout'' => 30, ''blocking'' => 1, ''type'' => 1))
in SF_ROOT_DIR/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php line 101 ...
98.
99. try
100. {
101. $this->_buffer->initialize($this->_getBufferParams());
102. }
103. catch (Swift_TransportException $e)
104. {
* at Swift_Transport_AbstractSmtpTransport->start()
in SF_ROOT_DIR/lib/vendor/symfony/lib/vendor/swiftmailer/classes/Swift/Mailer.php line 74 ...
71.
72. if (!$this->_transport->isStarted())
73. {
74. $this->_transport->start();
75. }
76.
77. return $this->_transport->send($message, $failedRecipients);
* at Swift_Mailer->send(object(''Swift_Message''), array())
in SF_ROOT_DIR/lib/vendor/symfony/lib/mailer/sfMailer.class.php line 300 ...
297. return $this->realtimeTransport->send($message, $failedRecipients);
298. }
299.
300. return parent::send($message, $failedRecipients);
301. }
302.
303. /**
* at sfMailer->send(object(''Swift_Message''))
in SF_ROOT_DIR/lib/vendor/symfony/lib/mailer/sfMailer.class.php line 263 ...
260. */
261. public function composeAndSend($from, $to, $subject, $body)
262. {
263. return $this->send($this->compose($from, $to, $subject, $body));
264. }
265.
266. /**
* at sfMailer->composeAndSend(''[email protected]'', ''[email protected]'', ''Confirm Registration'', ''Hello fjklsdjf,<br/><br/> <a href="http://www.tirengarfio.com/rs5/web/frontend_dev.php/register/confirm/m/19">Click here to confirm your registration</a><br/><br/> Your login information can be found below:<br/><br/> Username: fjklsdjf<br/> Password: m'')
in SF_ROOT_DIR/plugins/sfDoctrineGuardExtraPlugin/modules/sfGuardRegister/lib/BasesfGuardRegisterActions.class.php line 89 ...
86. $user->getEmailAddress(),
87. ''Confirm Registration'',
88. $message
89. );
90. }
91.
92. /**
* at BasesfGuardRegisterActions->sendRegisterConfirmMail(object(''sfGuardUser''), ''m'')
in SF_ROOT_DIR/plugins/sfDoctrineGuardExtraPlugin/modules/sfGuardRegister/lib/BasesfGuard
Esta es mi configuración en fábricas.yml.
all:
mailer:
param:
delivery_strategy: realtime
transport:
class: Swift_SmtpTransport
param:
host: smtp.gmail.com
port: 465
encryption: ssl
username: tirengarfio
password: XXXX
El puerto 465 está abierto en mi host remoto. No hay problema en localhost.
¿Alguna idea?
- Javi
Ubuntu 8.04
No sé si esto ayuda, compro que he corrido con el mismo problema en mi máquina local (Windows). Para resolver esto tuve que copiar dos dlls en el directorio php a system32 (ssleay.dll y libeay.dll) y anular la extensión php_openssl.dll en mi configuración de Apache. Puede haber una solución similar para Linux. Te sugiero que contactes con el hosting porque es muy posible que no puedas realizar esta solución en un hosting compartido.
Necesita abrir 465 en el firewall
En el firewall CSF necesita agregar 465 en TCP_OUT =
Bueno, tuve el mismo problema por un tiempo, reemplazando: smtp.gmail.com
con 173.194.65.108
realmente funcionó para mí.
Si obtienes esto constantemente sin suerte, revisa la configuración nuevamente. Estaba pasando por alto mi configuración y luego descubrí que el host estaba equivocado.
Utilicé, smtp.google.com
en lugar de smtp.gmail.com
Demasiado tonto, pero me pasó a mí.