php – 使用Zend Framework向多个订阅者发送电子邮件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 使用Zend Framework向多个订阅者发送电子邮件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1901字,纯文字阅读大概需要3分钟。
内容图文
![php – 使用Zend Framework向多个订阅者发送电子邮件](/upload/InfoBanner/zyjiaocheng/751/6d0115e16be941929ecd5da949e66a1b.jpg)
我想我必须在这里做错事,因为我的代码只向桌面上的最后一个订阅者发送了一封电子邮件.当我记录订阅者数组时,很明显它正在尝试发送多个订阅者.我认为这个问题与尝试将它们一起批处理有关……对我来说,最好的方法是什么?我正在尝试使用附件创建一条消息,然后逐个发送每个地址,并将它们作为一个批处理进程发送出去.这是我的代码:
$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);
解决方法:
这看起来像一个范围问题:你在foreach循环中创建$message并且只发送最后一个(因为在foreach之后调用$message-> send()).
基本上,每次foreach循环迭代时都会覆盖$message的值.将$message->发送到foreach循环,每次迭代发送一封电子邮件.可能有另一种方法来创建一个消息数组并一次发送它们,但我不熟悉ZendMail.
编辑:实际上,如果您阅读Zend_Mail上的文档,您可以调用$message-> addTo()将附加收件人(超过1个)添加到单个邮件中.您的代码可能会更改为:
$message = new Zend_Mail();
$message->setFrom('fake@email.com', 'My Fake Mailing List')
->setSubject($subject)
->setBodyText($body);
foreach($subscribers as $subscriber){
$message->addTo($subscriber->email);
}
$message->send();
内容总结
以上是互联网集市为您收集整理的php – 使用Zend Framework向多个订阅者发送电子邮件全部内容,希望文章能够帮你解决php – 使用Zend Framework向多个订阅者发送电子邮件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。