2010-11-29 2 views
1

Я хочу отправить пакетные письма с помощью SwiftMailer, но просто интересно, какой лучший вариант для этого будет. Проблема заключается в том, что содержимое электронной почты должно быть настроено, т. Е. Будет приветствие наверху и пользовательская ссылка.пакетная отправка электронной почты с пользовательским контентом

Вот мой текущий код OOP:

foreach($suppliers as $supplier) 
{ 
    $quote=new Quote(); 
    $quote->enquiry_id=$enquiry->id; 
    $quote->supplier_id=$supplier->id; 

    if($quote->save()) 
    { 
     $supplier_emails[]=$supplier->email; 
    } 
} 

$message=new SwiftMailMessage; 
$message->setTo($supplier_emails); 
$message->setFrom($params['adminEmailFromAddress'] => $params['adminEmailFromName']); 
$message->setBody('Here is the message itself') 
App::app()->mail->batchSend($message); 

Я использую контейнер для SwiftMailer. Итак, как вы можете видеть, я могу легко указать массив адресов электронной почты для отправки сообщения. Как настроить контент сейчас? Переменные, которые мне нужно включить в контент, - это $ supplier-> name и $ supplier-> link.

Лично я не вижу, как это можно сделать, кроме отправки каждого электронного письма отдельно в цикле foreach(). ЕСЛИ это так, то не лучше ли просто использовать внутреннюю функцию PHP mail()?

ответ

1

Вы можете попробовать использовать плагин Decorator:

http://swiftmailer.org/docs/decorator-plugin

+0

Интересно, я не видел. Я, вероятно, расскажу об этом, но я заметил на сайте, что автор написал: «Пока плагин-декоратор предоставляет средства для решения этой проблемы, есть различные способы решения этой проблемы без использования плагина». - любые предложения по этому поводу? – GSTAR 2010-11-29 13:20:25

Смежные вопросы