質問

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

役に立ちましたか?

解決

デコレータープラグインを使用してみることができます。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top