如何获取已添加到PHPMailer对象中的收件人电子邮箱地址列表
PHPMailer获取已成功添加的收件人邮箱列表方法
PHPMailer所有成功通过addAddress添加的收件人信息,都会存储在实例的公开属性$to中,你可以直接读取该属性遍历提取邮箱地址。
具体实现代码(适用于PHPMailer 5.x、6.x所有主流版本)
// 初始化PHPMailer实例示例 $mail = new PHPMailer\PHPMailer\PHPMailer(true); // 执行添加收件人操作 $mail->addAddress('test1@example.com', '测试用户1'); $mail->addAddress('test2@example.com'); // 提取所有成功添加的邮箱地址 $addedEmails = []; foreach ($mail->to as $item) { // 每个子数组的第0位就是校验通过的合法邮箱地址 $addedEmails[] = $item[0]; } // 此时$addedEmails就是所有成功添加的收件人邮箱列表 var_dump($addedEmails);
补充说明
addAddress方法本身会返回布尔值,添加成功返回true,邮箱格式校验失败返回false,如果需要精确区分每一次添加是否成功,可以在调用时就做判断存储,比事后遍历更精准。- 如果你需要获取已添加的抄送人、密送人列表,对应读取实例的
$cc、$bcc属性即可,存储结构和$to完全一致。 - 不建议直接修改
$to、$cc等属性的值,收件人增删操作请统一使用PHPMailer提供的addAddress、clearAddresses、addCC等官方方法,避免出现格式异常。
内容的提问来源于stack exchange,提问作者S.Mason
相关产品推荐
相关产品推荐

