【发布时间】:2015-11-25 17:20:35
【问题描述】:
我正在使用 phpmailer,并希望输出它发送到的密件抄送电子邮件地址以用于记录目的。 ($mail->AddBCC())
我可以用简单的 print_r($mail) 输出 $mail 对象...我只想输出:
print_r($mail->all_recipients:private);
但这不起作用。 我试过了:
print_r($mail->{'all_recipients:private'});
但这也行不通。
print_r($mail);
显示:
[AltBody] =>
[WordWrap] => 0
[Mailer] => smtp
[Sendmail] => /usr/sbin/sendmail
[PluginDir] =>
[ConfirmReadingTo] =>
[Hostname] =>
[MessageID] =>
[Host] => smtp.gmail.com
[Port] => 587
...
[all_recipients:private] => Array
(
[exampl1@test.com] => 1
[exampl2@test.com] => 1
[exampl3@test.com] => 1
)
...
【问题讨论】:
-
print_r($mail['all_recipients:private'])? -
:private表示all_recipients是 phpmailer 对象的 PRIVATE 属性。它不是键名的一部分。这意味着您无法从对象的“外部”访问它。您只能在 print_r 输出中看到它,因为 print_r 用于调试目的,并且可以显示类似的私有属性。 -
如果
bcc属性被报告为private,那么您运行的是一个非常旧的PHPMailer 版本,因为几年前它已更改为protected; get the latest -
是的...我正在运行一个非常旧的版本。我更新了,现在数据受到保护。但是,我仍然得到:“无法访问受保护的属性” - 我认为这是答案。我无法以这种方式访问数据并使用 getAllRecipientAddresses() 方法。
标签: phpmailer