Я думаю, что я, должно быть, что-то делаю не так, потому что мой код отправил электронное письмо только последнему подписчику в таблице. Когда я регистрирую массив подписчиков, становится очевидным, что существует более одного, кому он пытается отправить. Я думаю, что проблема связана с попыткой объединить их вместе ... Как мне лучше всего это сделать? Я пытаюсь создать одно сообщение с вложением, затем отправить адрес по отдельности и отправить их как один пакетный процесс. Вот мой код:
$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);