I am working on a functionality to send mass mail
on product update
.I want to improve code for performance
and to avoid spam
.
Code:
$collection = Mage::getModel('newsletter/subscriber')->getCollection();
$arr = array();
foreach ($collection as $subscriber)
{
$arr[] = $subscriber->getData();
}
$html = '<strong>Dear Subscriber,</strong><br>
Following product has been updated <br><br> ';
for($j=0;$j<count($arr);$j++)
{
$mail = Mage::getModel('core/email')
->setToName($arr[$j]['subscriber_email'])
->setToEmail($arr[$j]['subscriber_email'])
->setBody($html)
->setSubject('Sarees Images Collection')
->setFromEmail(Mage::getStoreConfig('trans_email/ident_general/email', $storeId))
->setFromName(Mage::app()->getStore()->getName())
->setType('html');
try{
$mail->send();
}
catch(Exception $error)
{
Mage::getSingleton('core/session')->addError($error->getMessage());
return false;
}
}
Problem:
Though mails are being sent to susbscribers it is slowing the page and there is a fear of being spammed.
How can I tackle this?
I am using Magento ver. 1.9.2.4
.