5

私は現在、Symfony2/Swiftmailer に送信されたフォームの内容をメールで送信させようとしています。私の parameters.yml には次のものが含まれています。

mailer_transport: sendmail
mailer_host: ~
mailer_user: ~
mailer_password: ~

私のサーバーの sendmail バージョンは、Swiftmailer がデフォルトで使用しているように見えるオプションをサポートしていないため、代わり-bsに使用するよう Symfony2/Swiftmailer に指示する方法を見つける必要がありますsendmail -tSwift_Transport_SendmailTransportそれをサポートしているようですが、SwiftmailerBundle に対応する設定オプションはないようです。

Swiftmailer に使用するように指示するにはどうすればよいですsendmail -tか (できれば構成を介して)。

編集2:今のところ、私は使用しています

$message = \Swift_Message::newInstance()
           […];

$transport = $this->get('swiftmailer.mailer.default.transport.real');
if ($transport instanceof \Swift_Transport_SendmailTransport) {
    $transport->setCommand('/usr/sbin/sendmail -t');
}

$this->get('mailer')->send($message);

これを行うためのより良い方法があるかどうか、私はまだ疑問に思っています。

4

3 に答える 3

9

まさにこの問題に一日を費やしました。

私はこの種のものにストレート構成を使用することを好み、これが機能することを発見しました:

# app/config/services.yml
services:
  swiftmailer.mailer.default.transport:
    class:     Swift_SendmailTransport
    arguments: ['/usr/sbin/sendmail -t']
于 2015-11-19T22:20:40.853 に答える