Php Yii2 mailer compose()用于不重置附件的循环

Php Yii2 mailer compose()用于不重置附件的循环,php,yii2,phpmailer,Php,Yii2,Phpmailer,我有以下代码,它将循环通过$byCreatedBy数组和 为每个$createdBy创建xls文件,并为每个$createdBy附加一个xls文件 $createdBy。 但似乎 $mail = \Yii::$app->mail->compose(); 不会重新初始化$attachment数组,导致下一封邮件具有上一封邮件的附件 foreach($byCreatedBy as $createdBy=>$data){ $filename = \

我有以下代码,它将循环通过$byCreatedBy数组和 为每个$createdBy创建xls文件,并为每个$createdBy附加一个xls文件 $createdBy。 但似乎

 $mail = \Yii::$app->mail->compose();
不会重新初始化$attachment数组,导致下一封邮件具有上一封邮件的附件

        foreach($byCreatedBy as $createdBy=>$data){
        $filename = \Yii::$app->params['data_dir']."pending-requisitions/pendingIR-".$createdBy.".xls";
        $this->xls = new MilPHPExcel;
        $this->writeRequisitions($data);
        $this->xls->outputFile($filename);
        $emailAddress = PeopleData::getEmailAddressByUsername($createdBy);

        $mail = \Yii::$app->mail->compose();
        $mail->setTo([
            'milwell@dexterton.loc' => 'Milwell',
        ])
        ->setSubject('Pending Internal Requistions')
        ->setHtmlBody(Yii::$app->view->render('/mail/pending-requisitions',[
            'username'=>$createdBy,
            'email'=>$emailAddress,
        ]))
        ->attach($filename)
        ->send();
        if($i>1)
            exit();
        $i++;
    }

将邮件代码更改为:

        $mail = \Yii::$app->mail;
        $mail->adapter->clearAttachments();
        $message = $mail->compose();
        $message->setTo([
            'milwell@dexterton.loc' => 'Milwell',
        ])
        ->setSubject('Pending Internal Requistions')
        ->setHtmlBody(Yii::$app->view->render('/mail/pending-requisitions',[
            'username'=>$createdBy,
            'email'=>$emailAddress,
        ]));
        $message->attach($filename);
        $message->send();
该行:

        $mail->adapter->clearAttachments();
将清除附件,因为我正在使用zyxphpmailer插件