You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Laravel Mail的bcc方法发批量邮件出现RFC 2822地址合规错误

BCC批量发邮件报错修复方案

核心报错原因

  1. 你调用bcc('$users')时使用了单引号包裹$users变量,PHP中单引号不会解析内部变量,实际传给bcc方法的是字符串$users而非真实的邮箱列表,自然不符合RFC 2822的邮箱格式要求。
  2. 你查询得到的$users是二维数组(结构为[['email' => 'a@test.com'], ['email' => 'b@test.com']...]),Laravel的bcc方法需要接收一维邮箱数组/单个邮箱字符串,格式不匹配。
  3. 原有代码的查询语句存在语法错误,whereIn方法调用后缺少闭合右括号;同时to(abc@gmail.com)没有给邮箱字符串加引号,会被PHP识别为未定义常量,触发语法错误。

修复后代码

public function welcomeEmails()
{ 
    // 直接查询得到一维邮箱数组,修正语法错误
    $users = User::whereIn('id',[5,6,7])->pluck('email')->toArray();  
    Mail::send('emails.welcome_email', [], function($message) use ($users)
    {     
        $message->to('abc@gmail.com')
                // 去掉单引号直接传一维邮箱数组
                ->bcc($users)
                ->subject('Welcome to the jobsee');     
    }); 
    Session::flash('success', 'Your message was sent!'); 
    return redirect()->back();  
}

补充说明

  • 如果需要同时指定收件人名称,bcc可以传键值对数组,格式为['邮箱地址' => '收件人名称']
  • 批量发送时建议加队列异步处理,避免请求超时

内容的提问来源于stack exchange,提问作者Bakhtawar Ashraf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:18:02