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

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

对于第一个参数,我使用了这个类:

new \Swift_Events_SimpleEventDispatcher();

简单!

于 2013-03-14T15:08:33.703 回答
0

您在文件中进行所有配置config.yml并创建一条消息,而不向工厂方法传递任何内容:

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