【问题标题】:Send mail to multiple recipients in Yiimailmessage在 Yiimailmessage 中向多个收件人发送邮件
【发布时间】:2026-01-22 20:55:01
【问题描述】:

我想一次向多个收件人发送电子邮件而不添加 cc 并且只能通过 to 使用 YiimailMessege 扩展名。是否有可能任何建议将不胜感激。我已尝试添加 cc 并且它有效但我不想添加cc.my 代码看起来像这样

        $message = new YiiMailMessage;
        $message->view =$model->viewName;
        $message->subject    = $model->subject;
        $params  = array('myMail'=>$model->object1);
        $message->setBody($params,'text/html');
        $message->addTo($model->to);
        $message->AddCC($model->from);
        $message->from = $model->from;
        $message->cc=array($model->senderEmail,$model->additionalEmail);
        $message->Replyto = $model->from;
        Yii::app()->mail->send($message);

以及to 使用YiimailMessege 扩展如何实现

【问题讨论】:

    标签: php email yii


    【解决方案1】:
    $message = new YiiMailMessage;
    $message->subject    = $model->subject;
    $message->view =$model->viewName;
    $message->from = $model->from;
    $message->setBody($params,'text/html');
    $params  = array('myMail'=>$model->object1);
    foreach($emails as $email) {
        $message->addTo($model->to);
        Yii::app()->mail->send($message);
    }
    

    【讨论】:

    • 谢谢回复..我会尝试
    • 你为什么在上面的代码中使用foreach...请你解释一下
    • foreach 表示遍历数组中的每个项目。在这种情况下,我有一系列电子邮件,例如 $emails = ['example@site.com', 'test@test.com']。我通过 $email 变量收到每封电子邮件
    • 但你没有在 foreach 中使用变量 $email ..这是我要问的
    • 哦,是的。我错了。应该有 $message->addTo($email);
    【解决方案2】:
    $message->addTo(array('john@example.com','jane@example.com'));
    

    你试过这个案例吗

    【讨论】:

    • 谢谢回复..我会尝试
    【解决方案3】:

    受保护的函数 _sendOrderDetailMail($orderId) { $model = $this->loadModel($orderId);

    $message = new YiiMailMessage;

    $message->view = 'orderdetail';

    $message->setBody(array('orderId'=>$orderId, 'model'=>$model), 'text/html');

    $message->subject = '新订单下达 - '.$orderId;

    $message->addTo(Yii::app()->params['adminEmail']);

               //  emails to keep in cc
    
               $emails = array('abc@example.com','abc1@example.com');
    
               foreach($emails as $value){
    
                          $message->addCC(trim($value));  
    
               }
    

    Yii::app()->mail->send($message); }

    通过电子邮件发送此邮件

    【讨论】:

    • 谢谢您的回答..我已经尝试使用问题中提到的 cc..谢谢您的回复