2015-03-22 3 views
4

Я использую Swiftmailer на Symfony2. Я также использую Zoho почту для размещения моего почтового сервера, и я настроен SwiftMailer, используя контактную информацию ФПОЙ предоставляемого Zoho, но это выглядит как-то не так, потому что следующее исключение:PHP Swiftmailer с сервером Zoho smtp, не отправляющим почту

PHP Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host 127.0.0.1 [Connection refused #111]' 

Моего parameters.yml файл выглядит следующим образом:

parameters: 
    mailer_transport: smtp 
    mailer_host: smtp.zoho.com 
    mailer_port: 465 
    mailer_encryption: ssl 
    mailer_user: my_username 
    mailer_password: my_password 
    mailer_authmode: plain 

и мой config.yml:

swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    port:  "%mailer_port%" 
    encryption: "%mailer_encryption%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    auth_mode: "%mailer_authmode%" 
    spool:  { type: memory } 

Я тестировал соединение с использованием протокола Telnet и кажется, что все будет в порядке:

root:/# telnet smtp.zoho.com 465 
Trying 74.201.154.90... 
Connected to smtp.zoho.com. 
Escape character is '^]'. 

Что мне не хватает?

Спасибо!

+0

странно, что он пытается идти в 127,0 .0.1 вместо smtp.zoho.com, ваш config.yml импортирует параметры.yml как ресурс? и как вы строите свою почту? –

+0

Parameters.yml правильно загружен, параметры подключения db находятся в одном файле и работают.Это, как я построить почту: '$ сообщение = \ Swift_Message :: newInstance() -> SetSubject ('Тема') -> setFrom (массив ('[email protected] ')) -> Сетто (массив ('[email protected] ')) -> setBody ( $ this-> RenderView ( 'Bundle: контроллер: view.txt.twig', массив ( 'данные'=> $ данных ) ) ) ; $ this-> get ('mailer') -> send ($ message); ' – pserracomas

ответ

1

Ну, если вы параметры.yml хорошо загружены, то я думаю, что знаю проблему, из которой это происходит, я думаю, что ваш веб-хост не разрешает ssl-порт подключения 465, он отказывается от соединения, что означает ошибка 111, попробуйте сначала подключиться с помощью TLS-безопасности с портом 587. Если вы все еще хотите использовать 465, попробуйте связаться со своим веб-хостингом, чтобы проверить этот порт.

Edit:

Удалите "" должен это исправить

swiftmailer: 
    transport: %mailer_transport% 
    host:  %mailer_host% 
    port:  %mailer_port% 
    encryption: %mailer_encryption% 
    username: %mailer_user% 
    password: %mailer_password% 
    auth_mode: %mailer_authmode% 
    spool:  { type: memory } 
+0

Файл parameters.yml правильно загружен, соединение с базой данных работает правильно, и эти параметры также находятся в этом файле. Я использую порт 465 и SSL-соединение, потому что это конфигурация, которую Зохо сказал мне использовать. Я также попробовал TLS-безопасность с портом 587, и он все еще не работает, в том же исключении. Думаю, я попытаюсь связаться с ними, чтобы решить проблему. Спасибо за вашу помощь! – pserracomas

+0

это может быть ваш брандмауэр для веб-хостинга, блокирующий этот порт, возможно, его не зоо, поэтому сначала свяжитесь с вашим веб-хостинга –

+0

Я использую цифровой веб-хостинг в Интернете, я постараюсь связаться с ними. – pserracomas

0

Изменить mailer_authmode: простой в mailer_authmode: логин.

0

Попробовав все решения (в моей разработке и на производстве), я попробовал PhpMailer. Он работает отлично.

Я думаю, проблема в коде SwiftMailer.

0

Вам необходимо войти в систему zoho и задать для себя специальный пароль. Вы можете найти его в разделе Безопасность -> Двухфакторная аутентификация. Используйте этот пароль вместо пароля учетной записи.

Смежные вопросы