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() 関数を使用する方がよいのではないでしょうか?

4

1 に答える 1

1

Decorator プラグインを使用してみることができます。

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

于 2010-11-29T13:11:16.730 に答える