Codeigniter:循环发送多封电子邮件时,最后一封电子邮件的电子邮件附件未清除
我的代码循环发送多封带有附件的电子邮件,
问题是最后一封(之前所有)电子邮件的附件附加到下一封电子邮件。
前任。假设数据库中有 3 封电子邮件,每封电子邮件有 1 个附件(a1.pdf、a2.pdf、a3.pdf) 然后, 它发送带有附件的电子邮件
电子邮件 1:
附件 :a1.pdf
电子邮件 2:
附件 :a1.pdf, a2.pdf
电子邮件 3:
附件 :a1.pdf, a2.pdf, a3.pdf
我正在使用 codeigniter 框架.
我的代码是(此代码在循环中调用)
。 。 。
$this->电子邮件->主题($item->主题);
$this->email->message($message);
$attachments='';
if(strlen($item->attachment) > 5)
{
$attachments = explode(',', $item->attachment);
foreach($attachments as $attachment)
{
if(strlen($attachment)>5)
$this->email->attach(FCPATH . 'attachments/' . $attachment);
}
}
$this->email->send();
。 。 。
My code sends multiple emails in loop with attachment,
Problem is attachments of last(previous all) emails get attached to next email.
ex. suppose 3 emails in database with 1 attachment in each(a1.pdf, a2.pdf, a3.pdf)
then,
it sends email with attachment as
email 1:
attachment :a1.pdf
email 2:
attachment :a1.pdf, a2.pdf
email 3:
attachment :a1.pdf, a2.pdf, a3.pdf
I am using codeigniter framework.
My code is (this code is called in loop)
.
.
.
$this->email->subject($item->subject);
$this->email->message($message);
$attachments='';
if(strlen($item->attachment) > 5)
{
$attachments = explode(',', $item->attachment);
foreach($attachments as $attachment)
{
if(strlen($attachment)>5)
$this->email->attach(FCPATH . 'attachments/' . $attachment);
}
}
$this->email->send();
.
.
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要在 CodeIgniter 中重置它。
在循环末尾添加:
这将重置所有电子邮件变量(包括附件),从而允许您创建新邮件。
You need to reset it in CodeIgniter.
At the end of the loop add:
This resets all email variables including the attachments, allowing you to create a new mail.
您需要使用
$this->email->clear();
清除循环中设置的变量。 阅读手册。You need to use
$this->email->clear();
to clean out the variables set within the loop. Read the manual.