2011-09-05 7 views
-2

ニュースレター表:ニュースレター - BBCと解除リンク

id | email | unsubscribe_link 

$emails = NewsletterTable::getInstance()->findAll();  
$count = count($emails); 
$message = $this->getMailer()->compose(); 
    $message->setSubject($params['subject']); 
    $message->setTo($params['to'])); 
    $message->setFrom($params['from']); 

for($i=1;$i<$count;$i++){ 
$message->addBcc($emails[$i]->email); 
} 


$html = $this->getPartial('mymodule/myTemplateHtml',$params); 
$message->setBody($html, 'text/html'); 
$text = $this->getPartial('mymodule/myTemplateTxt',$params); 
$message->addPart($text, 'text/plain');  

$this->getMailer()->send($message); 

私は(ユニーク)UNSUBSCRIBE_LINKも送って、このために追加する必要がありますか?可能だ?

+0

なぜ-1ですか?なにが問題ですか? –

答えて

0

あなたはDoctrineを使用していると思います。私は教義でこれを行う方法の専門家でないんだけど、あなたがこれを行うことができますハックなどとして:

$emails = NewsletterTable::getInstance()->findAll();  
$count = count($emails); 
$message = $this->getMailer()->compose(); 
    $message->setSubject($params['subject']); 
    $message->setTo($params['to'])); 
    $message->setFrom($params['from']); 

$bccEmails = array(); 
for($i=1;$i<$count;$i++){ 
    $bccEmails[$emails[$i]] = true; 
} 
foreach ($bccEmails as $emailAddr => $dummy) { 
    $message->addBcc($emailAddr); 
} 

ここでの考え方は、電子メールアドレスの辞書を作成することです、そして重複がそれに影響を与えません辞書は重複したエントリを持つことができないためです。次に、辞書のキーをループして追加します。

+0

他のユーザーに一意のunsibscribe_linkでメールを送信したい –

関連する問題