我正在嘗試通過事件偵聽器獲取發件人的電子郵件地址。我可以使用下面的代碼很好地記錄它們,但我無法直接訪問它,因為它被 Symfony 設定為私有。因此我得到這個錯誤:"Cannot access private property Symfony\Component\Mime\Address::$address"
所以我的問題是我如何才能得到發件人的電子郵件,因為我需要先過濾它們?
代碼:
public function handle(MessageSent $event){
$message = $event->message;
Log::info($message->getTo());//this logs the email
}
日志結果:
array (
0 =>
Symfony\Component\Mime\Address::__set_state(array(
'address' => '[email protected]',
'name' => 'Name',
)),
)
但是如果我嘗試下面的代碼來單獨檢查電子郵件:
public function handle(MessageSent $event){
$message = $event->message;
foreach( $message->getTo() as $email ){
info($email->address);//returns an error
}
}
我收到此錯誤:
Cannot access private property Symfony\Component\Mime\Address::$address
如果我使用下面的代碼來查看發生了什么
public function handle(MessageSent $event){
$message = $event->message;
foreach( $message->getTo() as $email ){
print_r($email);
}
}
然后我得到這個結果:
Symfony\Component\Mime\Address Object ( [address:Symfony\Component\Mime\Address:private] => [email protected] [name:Symfony\Component\Mime\Address:private] => )
uj5u.com熱心網友回復:
您可以看到大多數 Mime 值都有一個 getter 方法,就像address的情況一樣。
$email->getAddress();
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/534839.html
標籤:拉维laravel-9
下一篇:LaravelHasManyThrough和BelongsToMany在我的情況下都不起作用。是資料庫結構問題嗎?
