SwiftMailer Spool Transport

时间:2012-10-31 10:08:20

标签: symfony swiftmailer spool

在symfony 2中,如果我创建一个新的swiftmessage实例,我可以在其中提供传输。

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

但是如何将传输放入其中以及如何配置? (如假脱机路径)

我试过了:

$transport = new \Swift_Transport_SpoolTransport();
  

捕获致命错误:传递给Swift_Transport_SpoolTransport :: __ construct()的参数1必须是Swift_Events_EventDispatcher的一个实例,没有给出,在/Users/mitchel/Projecten/Refurls/src/Refurl/FrontendBundle/Controller/MessageController.php中调用第67行并在/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。

2 个答案:

答案 0 :(得分:1)

Swift_Transport_SpoolTransport需要两个参数(来源:http://apigen.juzna.cz/doc/swiftmailer/swiftmailer/class-Swift_Transport_SpoolTransport.html):

  1. Swift_Events_EventDispatcher $ eventDispatcher
  2. Swift_Spool $ spool = null
  3. 对于我使用这个类的第一个参数:

    new \Swift_Events_SimpleEventDispatcher();
    

    Simplez!

答案 1 :(得分:0)

您执行config.yml文件中的所有configuration并创建消息,而不将任何内容传递给工厂方法:

$message = Swift_Message::newInstance();