Laravel 使用 notification 发送 email 的问题?

文档里写的是:
$user->notify(new InvoicePaid($invoice)); 使用用户实例发邮件。
但是我只想发给一个指定的邮箱该怎么做?
用了如下方法:

    (new User)->forceFill(['name' => 'Their name', 'email' => 'email@example.com',])
    ->notify(new DppNotificationEmail());

php artisan queue:work:

    [2017-08-18 00:26:55] Processing: App\Notifications\Dpp\DppNotificationEmail
    [2017-08-18 00:26:55] Processed:  App\Notifications\Dpp\DppNotificationEmail

但是邮箱收不到邮件,求指点?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3
create_xf

可能是你的邮箱配置有问题,下边这些要从新配置一下

MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=

,或者先试一下,facade Mail 是否能正常发送

Mail::to($request->user())->send(new Test());

非常感谢你提供的 以下方法,

forceFill(['name' => 'Their name', 'email' => 'email@example.com',])

按文档写的,用以下方法折腾了半天都没发送成功,坑爹啊

$user->notify(new InvoicePaid());
5年前 评论

我想用邮件通知来代替 \Mail::send()(为了统一邮件模板风格,而且可以使用队列,不知道 Mail::send 怎么使用队列),找了好久如何使用 $user->notify() 方法来通知用户表里没有的 email,终于在这里找到了。。。
另外好像用 fill 方法就可以了,fill 和 forceFill 有什么区别吗?

5年前 评论

@create_xf 似乎新版本这么操作不行了,$user->notify() 方法被调用时,框架会去数据库查找这个实例,然而这个 $user 是个只被 fill 了 email 属性的空壳,框架会抛出 ModelNotFoundException。看来还是得用 Mail::send

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!