1

symfony 2では、新しいswiftmessageインスタンスを作成すると、その中にトランスポートを与えることができます。

$email = \Swift_Message::newInstance( $transport )

しかし、トランスポートをその中に配置する方法と構成する方法は?(スプールパスのように)

私は試した:

$transport = new \Swift_Transport_SpoolTransport();

キャッチ可能な致命的なエラー:Swift_Transport_SpoolTransport :: __construct()に渡される引数1は、Swift_Events_EventDispatcherのインスタンスである必要があり、指定されていない場合は、67行目の/Users/mitchel/Projecten/Refurls/src/Refurl/FrontendBundle/Controller/MessageController.phpで呼び出されます。 /Users/mitchel/Projecten/Refurls/vendor/swiftmailer/lib/classes/Swift/Transport/SpoolTransport.phpの27行目で定義されています

だから私は正しいクラスを使っていないと思います。誰が私を正しい方向に押し進めることができますか?=)


次のコードも直接送信します

$transport = new \Swift_FileSpool( '../app/spool' );
$email = \Swift_Message::newInstance( $transport )

Swift_Messageはトランポートを期待していないことがわかりました。

public function __construct($subject = null, $body = null,
    $contentType = null, $charset = null)

トランスポートを与えるといいでしょう。構成で構成したくない理由は、2つのサービスと1つのサービスを次のように作成する場合です。

<argument type="service" id="swiftmailer.transport.real" />

このtransport.realは、swiftmailer.delivery_addressを無視します。

4

2 に答える 2

0

ファイル内のすべての構成config.ymlを行い、ファクトリメソッドに何も渡さずにメッセージを作成します。

$message = Swift_Message::newInstance();
于 2012-10-31T10:10:50.157 に答える