2011-09-05 59 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

why?哪裏不對? –

回答

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的指定電子郵件 –