2015-12-15 1 views
0

У меня возникла непредвиденная проблема с отправкой писем с моего сайта. Некоторое время он работал нормально и внезапно, похоже, остановился без видимой причины.Не удалось установить соединение SwiftMailer с хостом

[Swift_TransportException] исключение 'Swift_TransportException' с сообщением 'Соединение не может быть установлено с хостом [Тайм-аут соединения # 110]' в поставщика/SwiftMailer/SwiftMailer/Lib/классов/Swift/Транспорт/StreamBuffer.php: 265

в моей web.php

'mailer' => [ 
     'class' => 'yii\swiftmailer\Mailer', 
     'transport' => [ 
     'class' => 'Swift_SmtpTransport', 
     'host' => 'mail.website.com', 
     'username' => 'username', 
     'password' => 'password', 
     'port' => '587', 
     'encryption' => 'tls', 
     ], 

Что могло произойти за это, чтобы перестать работать и как я должен быть фиксируя его?

Я использую приложения Google для своих писем, но я всегда использовал эту конфигурацию, где я подключаюсь к моему почтовому серверу. Я не знаю, почему это внезапно перестало работать.

ответ

2

То же самое произошло со мной в yii, пару дней назад. Решено, изменив порт.

Try,

'port' => 26, 
+0

Это работает для меня, я понятия не имею, почему она остановилась, но порадовало он начал работать. – Jonnny

0

он ищет сервер mail.website.com, но не может его решить. используйте этот домен smtp.gmail.com и порт 25 or 465.

if (!$this->_stream = fsockopen($host, $this->_params['port'], $errno, $errstr, $timeout)) 
{ 
    throw new Swift_TransportException(
    'Connection could not be established with host ' . $this->_params['host'] . 
    ' [' . $errstr . ' #' . $errno . ']' 
    ); 
} 

Таким образом, вы либо должны ввести действительный сервер SMTP или заверните линию отправки() в Try/улова, чтобы поймать исключение и либо зарегистрировать ее где-нибудь или игнорировать его. Проверьте, что порт, который вы используете, действительно является портом, используемым вашим почтовым сервером.