2012-10-31 5 views
1

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

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

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

Я пробовал:

$transport = new \Swift_Transport_SpoolTransport(); 

Catchable Fatal Error: Argument 1 passed to Swift_Transport_SpoolTransport::__construct() must be an instance of Swift_Events_EventDispatcher, none given, called in /Users/mitchel/Projecten/Refurls/src/Refurl/FrontendBundle/Controller/MessageController.php on line 67 and defined in /Users/mitchel/Projecten/Refurls/vendor/swiftmailer/lib/classes/Swift/Transport/SpoolTransport.php line 27

, так что я думаю, что я не использую правильный класс. Кто может подтолкнуть меня правильно? =)


Следующий код также отправить его непосредственно

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

Я понял, что Swift_Message не ожидает Tranport.

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.

ответ

0

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

$message = Swift_Message::newInstance(); 
+0

Нет, эта почта будет отправлена ​​напрямую, я хочу передать транспортную катушку, чтобы он мог ее спутать. И я не хочу настраивать катушку в моей конфигурации. –