我的代码在附件中发送多封电子邮件,
问题是最后(以前所有)电子邮件的附件都附加到下一封电子邮件。
离。假设数据库中有3封电子邮件,每封包含1个附件(a1.pdf,a2.pdf,a3.pdf) 然后, 它发送带附件的电子邮件
电子邮件1:
附件:a1.pdf
电子邮件2:
附件:a1.pdf,a2.pdf
电子邮件3:
附件:a1.pdf,a2.pdf,a3.pdf
我正在使用codeigniter框架。
我的代码是(此代码在循环中调用)
。 。
$这 - >的电子邮件 - &GT受试者($本期特价货品&GT受试者);
$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();
。 。
答案 0 :(得分:20)
您需要在CodeIgniter中重置它。
在循环结束时添加:
$this->email->clear(TRUE);
这会重置所有电子邮件变量,包括附件,允许您创建新邮件。
答案 1 :(得分:15)
您需要使用$this->email->clear();
清除循环中设置的变量。 Read the manual