Mautic не может подключиться через TLS. SMTP

Я застрял на этом. Я работаю над проектом по автоматическому развертыванию и настройке экземпляров Mautic в AWS Elastic Beanstalk с использованием контейнеров Docker. Кажется, все в порядке, но когда я нажимаю «Проверить соединение» в настройках электронной почты конфигурации Mautic, я всегда получаю «Невозможно подключиться с шифрованием TLS».

Если я не использую шифрование, я могу нормально подключаться и отправлять электронные письма. Так что это не проблема с заблокированным портом или неправильными учетными данными.

Я убедился, что OpenSSL установлен и работает в PHP.

Mautic использует swiftmailer для отправки электронных писем, поэтому я зашел в их код и скопировал точный фрагмент кода, который они используют для тестирования. Я вставил это в тестовый скрипт и запустил его.

<?php
require_once __DIR__ . '/vendor/autoload.php';
try {
$mailer = new \Swift_SmtpTransport('...', 587, 'tls');
$mailer->setUsername('...');
$mailer->setPassword('...');

$mailer->start();
die('hello');
}
catch(Exception $e){
echo $e->getMessage();
}

Это прекрасно работает. Я дошел до того, что добавил остальную часть кода, необходимого для отправки электронного письма, и оно прекрасно дошло до моего почтового ящика. Этот сценарий был выполнен из контейнера докеров, который находится на сервере AWS Elastic Beanstalk.

Итак, что мне не хватает? Почему это не помогает мне при тестировании через mautic?

Тестовый сценарий также использует ту же папку vendor, что и экземпляр Mautic, поэтому я знаю, что он использует точно такую ​​же версию SwiftMailer.

Спасибо

==

ОБНОВЛЕНИЕ 1

Переход на PHP 5.5 с PHP 5.6, кажется, решил эту проблему, но мне не нравится идея понижения версии PHP только для решения проблемы. Я позаимствовал эту идею из этой проблемы.

Так что, если у кого-то есть лучшее решение, я все еще открыт. Я заметил в проблеме, что кто-то указал решение для 5.6, но оно включает редактирование файлов поставщиков, что не работает для меня, так как я пытаюсь все это автоматизировать.


person Squeegy    schedule 17.05.2016    source источник


Ответы (2)


Я потратил полдня, чтобы узнать, как подключиться к Mautic 2.16.2 и PHP 7.1.

Проблема заключается в константе версии TLS, определенной в SwiftMailer (STREAM_CRYPTO_METHOD_TLS_CLIENT). Для обратной совместимости это указывает на 1.0 v. TLS. Вы можете изменить STREAM_CRYPTO_METHOD_TLS_CLIENT на STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT (или другую версию) в /mautic/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php.

Для получения дополнительной информации см. эту проблему со SwiftMailer.

person Artur Czyżewski    schedule 08.05.2020

У меня была аналогичная проблема. Недавно решил две вещи: во-первых, обновился до версии 2.0.0, затем я понял (хотя и не уверен, что это правда), что задания cron должны быть в очень определенном порядке на моем хосте (сервере godaddy) без каких-либо глупый код в конце, например:

mautic:кампании:запустить mautic:кампании:перестроить mautic:iplookup:скачать mautic:электронные письма:отправить mautic:электронная почта:выбрать mautic:сегменты:обновить

person LewisOne    schedule 13.07.2016