Я использую Swiftmailer
с Symfony 2.8
для отправки писем с учетной записи gmail в учетную запись Outlook. код, я использую в моем контроллере:Разрешить отправлять письма с Swiftmailer
$message = \Swift_Message::newInstance()
->setSubject('Test Email')
->setFrom('[email protected]')
->setTo('[email protected]')
->setBody(
$this->renderView(
'QualifBundle:Mails:Welcome.html.twig'
),
'text/html'
);
$this->get('mailer')->send($message);
Файл конфигурации:
# Swiftmailer Configuration
swiftmailer:
transport: %mailer_transport%
encryption: %mailer_encryption%
auth_mode: %mailer_auth_mode%
host: %mailer_host%
username: %mailer_username%
password: %mailer_password%
spool: { type: memory }
Параметры YML:
mailer_username: [email protected]
mailer_password: xxxxxxxxx
mailer_transport: smtp
mailer_encryption: ssl
mailer_auth_mode: login
mailer_host: smtp.gmail.com
мне удалось решить SSL ошибки, теперь с этим кодом мой приложение работает без исключений, но почта не получена (может быть, даже не была отправлена) Как я могу решить или отпечатать это?
Update Я удалил spool:{ type: memory }
, так что почта получить отправить непосредственно, и я получил это исключение.
Connection could not be established with host 127.0.0.1 [Connection refused #111]
Мой Хозяин должен быть smtp.gmail.com
не localhost
любая идея?
Решение я решить мою проблему взлома файлов поставщика, я знаю, что это не самое лучшее решение, но, по крайней мере, я могу отправить почту.
искать _establishSocketConnection()
fonction в StreamBuffer.php
должно быть по этому пути /vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport
в проект. И добавьте эти следующие строки, чтобы избежать SSL проверки:
//...
$options = array();
if (!empty($this->_params['sourceIp'])) {
$options['socket']['bindto'] = $this->_params['sourceIp'].':0';
}
//Add those two lines
$options['ssl']['verify_peer'] = FALSE;
$options['ssl']['verify_peer_name'] = FALSE;
//...
Затем я перезапустил браузер я рассылка работает как шарм
Включите его .. такой же результат – storm