0

私は Silex プロジェクトに取り組んでおり、Swiftmailer プロバイダーを使用して電子メールを送信しようとしていますが、常に内部サーバー エラー (500) が発生します。

登録:

$app->register(new Silex\Provider\SwiftmailerServiceProvider(), array(
        'swiftmailer.options' => array(
            'host' => 'smtp.gmail.com',
            'port' => '465',
            'username' => 'my_email',
            'password' => 'my_password')

    ));

メーラー $app['mailer'] を呼び出すと、内部サーバー エラーがスローされます。

ドキュメントの例を試してみると、内部サーバー エラーが発生しました。

 $app->post('/feedback', function () use ($app) {
    $request = $app['request'];

    $message = \Swift_Message::newInstance()
        ->setSubject('[YourSite] Feedback')
        ->setFrom(array('noreply@yoursite.com'))
        ->setTo(array('feedback@yoursite.com'))
        ->setBody($request->get('message'));

    $app['mailer']->send($message);

    return new Response('Thank you for your feedback!', 201);
});

何が問題なのかわかりませんが、他のプロバイダーでは問題はありません。

何か案は?

4

1 に答える 1

0

「swiftmailer.options」配列に次のエントリを追加すると役に立ちますか? Gmail はデフォルトでポート 465 で ssl を使用します。

'encryption' => 'ssl',
'auth_mode' => 'login',

[更新] コードで名前空間を定義する場合は、Silex\Provider の前に「\」を追加する必要があります。

$this->register(new Silex\Provider\SwiftmailerServiceProvider(), array(

$this->register(new \Silex\Provider\SwiftmailerServiceProvider(), array(
于 2013-03-17T03:34:28.070 に答える