Ben kodu yalnızca tablodaki son aboneye bir e-posta gönderdi, çünkü ben burada yanlış bir şey yapıyor olması gerekir düşünüyorum. Ben abonelerin dizi, bu göndermek için çalışıyor birden fazla olduğu onun açık oturum açın. Ne bana bunu yapmak için en iyi yoldur ... problem birlikte toplu onları çalışırken ile ilgisi var? Ben bir ek ile, bir mesaj oluşturmak için çalışıyorum, o ayrı adrese her biri gönderebilir ve bir dozajlanmamış süreç olarak hepsini gönderin. İşte benim kod:
$subscribersManager = new DD_Subscribers_Manager();
$subscribers = $subscribersManager->getAllSubscribers();
$subject = $form->getElement('subject')->getValue();
$body = $form->getElement('body')->getValue();
$filename = $form->getElement('bulletin')->getValue();
$filepath = Zend_Registry::get('rootDir') . '/public/downloads/archive/' . $filename;
$config = array('ssl' => 'tls', 'port' => 587, 'auth' => 'login', 'username' => 'fake@email.com', 'password' => 'password');
$smtpConnection = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
foreach ($subscribers as $subscriber) {
$message = new Zend_Mail('utf-8');
$message->setFrom('fake@email.com', 'My Fake Mailing List')
->addTo($subscriber->email)
->setSubject($subject)
->setBodyText($body);
$attachment = $message->createAttachment(file_get_contents($filepath));
$attachment->type = 'application/pdf';
$attachment->filename = $filename;
}
$message->send($smtpConnection);