Laravel 6.7でメール送信をしようとしていますが、
うまくいきません。
メール送信にはSend Gridという外部メール送信サーバを利用しています。
お問い合わせページのようなものを試しに作っていて
最終画面でDB登録まではいきました。
最後のステップでメール送信をするのですが、
そこの部分で止まってしまっています。
ErrorException Trying to get property 'email' of non-object
というメッセージが表示されます。
(中略) DB::commit(); } catch (\Exception $e) { dd($e->getMessage()); DB::rollBack(); return back()->withError('Something wrong happened in insert data to database'); } //ここ上までは問題なし Mail::to(config('app.mail_admin'))->queue(new SendContactEmail($request->all())); Mail::to($request->email)->queue(new SendThanksEmail($request->all())); return redirect()->route('contact.thanks'); }
Mail::to(config('app.mail_admin'・・・・・
の部分でエラー判定されています。
php artidan config:clear
をして
.envのメール設定を読み込んでいるのですが、、、、
なぜかうまくいきません。
ちなみに.envは下記の通りです
MAIL_DRIVER=smtp MAIL_HOST=smtp.sendgrid.net MAIL_PORT=587 MAIL_USERNAME=dummy@kke.com MAIL_PASSWORD=password MAIL_ENCRYPTION=tls MAIL_DEVELOP=noreply@example.com MAIL_ADMIN=info@example.com
初歩的なことかもしれませんが、
宜しくお願いいたします。
(追記)
上記のメール送信に関する部分で、
vendor/laravel/framework/src/Illuminate/Mail/Mailable.php
というファイルの
protected function setAddress($address, $name = null, $property = 'to') { foreach ($this->addressesToArray($address, $name) as $recipient) { $recipient = $this->normalizeRecipient($recipient); $this->{$property}[] = [ 'name' => $recipient->name ?? null, 'address' => $recipient->email, ]; } return $this; }
$recipient に対して
dd を使って中身を確認したところ、Nullと表示されました。
値が渡っていないようで。。。。
Laravel6.7ではMailの処理が変わったんでしょうか?
宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー