繁体   English   中英

Codeigniter:Email 在循环发送多封电子邮件时未清除最后一封电子邮件的附件

[英]Codeigniter: Email attachment of last emails not cleared while sending multiple emails in loop

我的代码循环发送多封带有附件的电子邮件,

问题是最后(前所有)电子邮件的附件被附加到下一个 email。

前任。 假设数据库中有 3 封电子邮件,每封 1 个附件(a1.pdf,a2.pdf,a3.pdf)然后,它发送 email 作为附件

email 1:

附件:a1.pdf

email 2:

附件:a1.pdf,a2.pdf

email 3:

附件:a1.pdf,a2.pdf,a3.pdf

我正在使用 codeigniter 框架。

我的代码是(此代码在循环中调用)

. . .

$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();

. . .

您需要在 CodeIgniter 中重置它。

在循环结束时添加:

$this->email->clear(TRUE);

这将重置所有 email 变量,包括附件,允许您创建新邮件。

您需要使用$this->email->clear(); 清除循环内设置的变量。 阅读手册

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM