2010-04-28 218 views
4

部署后,我发现下面这个错误,当我尝试发送邮件:在远程主机:连接不能建立与主机smtp.gmail.com [连接超时#110]

500 |内部服务器错误| Swift_TransportException 连接无法与主机smtp.gmail.com建立[连接超时#110] 堆栈跟踪

* 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 

这是我在factories.yml配置。

all: 
    mailer: 
    param: 
     delivery_strategy: realtime 
     transport: 
     class: Swift_SmtpTransport 
     param: 
      host:  smtp.gmail.com 
      port:  465 
      encryption: ssl 
      username: tirengarfio 
      password: XXXX 

端口465打开我的远程主机。本地主机没问题。

有什么想法?

- 哈维

的Ubuntu 8.04

回答

3

我已采取直接从Gmail网站这些指令。

您必须在您的用户名中使用@ gmail.com。

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 [email protected]_domain.com 
Password: your Gmail password 
+0

谢谢,但它没有工作.. – ziiweb 2010-04-28 18:51:59

+0

你可以在服务器上执行以下操作吗? telnet smtp.gmail.com 465 也你为什么要死我-1?我给了一个有效的答案。 – 2010-04-29 17:45:18

+0

Hi @ChrisMuench,我正在使用Laravel 5.1并得到类似的问题。我已经在我的.env文件中跟踪了你的轮廓,你能验证吗? drive = smtp,host = smtp.gmail.com,port = 587(也试过465),encryption = ssl(也试过tls),[email protected],password = secret,sendmail =/usr/sbin/sendmail -bs。这目前不工作,并产生:StreamBuffer.php中的Swift_TransportException行265: 无法与主机建立连接smtp.gmail.com – mtpultz 2015-06-23 00:31:20

0

我不知道这是否有帮助,购买我在本地计算机(Windows)上运行同样的问题。为了解决这个问题,我必须将php目录中的两个dll复制到system32(ssleay.dll和libeay.dll),并在我的apache配置上解开扩展php_openssl.dll。对于linux可能有类似的解决方案。我建议您联系主机,因为您很可能无法在共享主机上执行此解决方案。

-1

如果你在没有任何运气的情况下得到这个,然后再次检查设置。 我忽略了我的设置,后来发现主机错了。

我用, smtp.google.com

,而不是 smtp.gmail.com

太傻,但它发生在我身上。

+0

**这不起作用!** – ihue 2015-11-10 12:39:01

3

您需要在防火墙

开465在CSF防火墙,你需要在TCP_OUT =

+1

你能告诉我们该怎么做? – ihue 2015-06-03 16:11:24

0

孔加465,我有一个,而同样的问题,替换:smtp.gmail.com173.194.65.108实际工作对我来说!

+0

得到错误的权利''连接不能建立主机173.194.65.108 [#0]' – ihue 2015-06-03 16:12:07

+0

**这是行不通的!** – ihue 2015-11-10 12:39:14

相关问题