PHPMailer同一邮箱同时作为主收件人和抄送收件人的配置方法及异常问题解析
PHPMailer同一邮箱同时作为主收件人和抄送收件人的问题解决方法
这其实是PHPMailer的默认去重机制导致的问题——为了避免无意的重复投递(比如误操作把同一个邮箱加到To和CC里),PHPMailer默认会自动忽略重复的邮箱地址,只保留第一次添加的收件人类型(也就是你这里的主收件人addAddress)。
解决方法很简单,只需要开启PHPMailer允许重复地址的配置:
你只需要在添加收件人之前,设置AllowDuplicateAddresses属性为true(注意不同版本的PHPMailer可能属性名是小驼峰allowDuplicateAddresses,如果前者不生效可以试试后者):
// 开启允许重复邮箱地址的配置 $this->mail->AllowDuplicateAddresses = true; // 正常添加主收件人和抄送收件人 $this->mail->addAddress("cesarg@abc.com", "Fleet Pro"); $this->mail->addCC("cesarg@abc.com",'second person');
补充说明:
开启这个配置后,PHPMailer就不会再自动去重,同一个邮箱地址会同时出现在邮件的To和CC字段中,收件人收到邮件时也能看到自己同时在主收件和抄送列表里。这个机制设计的初衷是防止误操作,但如果你确实有业务需求需要这样设置,开启这个属性就完全可以满足要求。
内容的提问来源于stack exchange,提问作者zootechdrum
相关产品推荐
相关产品推荐

