Je souhaite envoyer des e-mails par lots à l'aide de SwiftMailer, mais je me demandais simplement quelle serait la meilleure option pour cela. Le problème est que le contenu de l'e-mail doit être personnalisé, c'est-à-dire qu'il y aura une salutation en haut et un lien personnalisé.Envoyer un e-mail par lots avec un contenu personnalisé
Voici mon code actuel POO:
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);
J'utilise un conteneur pour SwiftMailer. Donc, comme vous pouvez le voir, je peux facilement spécifier un tableau d'adresse e-mail pour envoyer le message. Comment puis-je personnaliser le contenu? Les variables que j'ai besoin d'inclure dans le contenu sont $ fournisseur-> nom et $ fournisseur-> lien.
Personnellement, je ne vois pas comment cela peut être fait, à part envoyer chaque email individuellement dans la boucle foreach(). Si tel est le cas, alors n'est-il pas préférable d'utiliser la fonction PHP interne()?
Intéressant, je n'ai pas vu cela. Je vais probablement essayer, mais j'ai remarqué sur le site que l'auteur a écrit: "Alors que le plugin décorateur fournit un moyen de résoudre ce problème, il existe plusieurs façons de résoudre ce problème sans avoir besoin d'un plugin." - Des suggestions à ce sujet? – GSTAR
Eh bien, pour moi, cela semble être la solution la plus simple. Vous pouvez même fournir votre propre fonction de recherche de remplacements. – kapa