私はこの1つに固執しています。私はDockerコンテナを使ってAWSのElastic BeanstalkにMauticインスタンスを自動的にデプロイして設定するプロジェクトに取り組んでいます。すべてが整然としているように見えますが、私がMauticの設定の電子メール設定で "Test Connection"をクリックすると、 "Unable to connect to TLS encryption"というメッセージが表示されます。MauticはTLSに接続できません。 SMTP
暗号化を使用しない場合は、うまく接続してメールを送信できます。したがって、ブロックされたポートの問題または悪い信用証明書ではありません。
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を使ってテストするとき、なぜこれが失敗するのですか?
また、テストスクリプトでは、Mauticインスタンスが使用しているのと同じvendor
というフォルダを使用しているため、同じバージョンのSwiftMailerを使用しています。 PHP 5.6からPHP 5.5へのダウングレード
おかげ
==
UPDATE 1
は、この問題を解決しているようだが、私はちょうど解決するためにPHPをダウングレードのアイデアを好きではありません問題。私はこの考えを持っていますissue
誰かがより良い解決策を持っているなら、私はまだ開いています。私はこの問題で注意を払っているが、誰かが5.6の解決策を指摘しているが、ベンダーのファイルを編集する必要がある。これは、私がこのすべてを自動化しようとしているので、私にとってはうまくいかない。