0

symfony2 を使用したアプリケーションがあり、メールを送信するために swiftmailer を使用しています。ポイントは、プロキシ経由でアクセスしていて、エラーがこれによるものかどうかわからないということです。これは私の設定ファイル(config.yml)です

swiftmailer:
    transport:  gmail
    encryption: ssl
    auth_mode:  login
    host:       smtp.gmail.com
    username:   myusername@gmail.com
    password:   mygmailpass
    delivery_address: mydeliveryaddress@miserver.com

$host = 'dev' == $this->container->getParameter('kernel.environment') ? 'http://localhost' : 'http://www.site.com/web/app.php';
$message = \Swift_Message::newInstance()
                    ->setSubject('Invitacion a Misitio.com')
                    ->setFrom('myusername@gmail.com')
                    ->setTo('test@gmail.com')
                    ->setBody(
                    $this->renderView('MyBundle:User:inviteFriendEmail.html.twig',array(
                            'token' => $token,
                            'user'  => $user,
                            'host'  => $host  
                           ))
                    );
        $this->get('mailer')->send($message);

このフォーラムで他の解決策をテストしましたが、それでも同じエラーが発生します。

何か案は?

4

1 に答える 1

0

これは Google が安全ではないと判断した方法で接続しているため、Google がアクセスを許可する前に有効にする必要があります。アカウントに有効にする必要がある設定があります。

https://www.google.com/settings/security/lesssecureappsにアクセスして、[有効にする] が選択されていることを確認します。

そのオプションが利用できない場合は、おそらく Google アプリ アカウント (ビジネス アカウント) を使用しており、その場合、アクセスはそのアカウントの管理者によって制御されています。

それでも接続できない場合は、代わりに smtp.gmail.com の実際の IP アドレスを使用してみてください。ドメインがIPv4アドレスではなくIPv6アドレスに解決されることがわかったので、PHPはそれに接続したくありませんでした。

変更される可能性があるため、ドメインの代わりに IP を使用するのは理想的ではありませんが、少なくともそれが機能する場合は、どこに集中すべきかがわかります

于 2014-11-28T23:50:41.863 に答える