Транспорт спула SwiftMailer

В symfony 2, если я создаю новый экземпляр swiftmessage, я могу указать в нем транспорт.

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

Но как поставить в него транспорт и как настроить? (например, путь катушки)

Я старался:

$transport = new \Swift_Transport_SpoolTransport();

Уловимая фатальная ошибка: аргумент 1, переданный в Swift_Transport_SpoolTransport::__construct(), должен быть экземпляром 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.


person Mitchel Verschoof    schedule 31.10.2012    source источник


Ответы (2)


Swift_Transport_SpoolTransport требует двух аргументов (источник: http://apigen.juzna.cz/doc/swiftmailer/swiftmailer/class-Swift_Transport_SpoolTransport.html):

  1. Swift_Events_EventDispatcher $eventDispatcher
  2. Swift_Spool $ спул = ноль

В качестве первого аргумента я использовал этот класс:

new \Swift_Events_SimpleEventDispatcher();

Простой!

person lemonSkip    schedule 14.03.2013

Вы выполняете всю конфигурацию в файле config.yml и создаете сообщение без передачи что-нибудь к фабричному методу:

$message = Swift_Message::newInstance();
person Elnur Abdurrakhimov    schedule 31.10.2012
comment
Нет, эта почта не будет отправлять ее напрямую, я хочу дать транспортную катушку, чтобы он ее распаковал. И я не хочу настраивать спул в своем конфиге. - person Mitchel Verschoof; 31.10.2012