我想为我的Laravel应用制作一个自动邮件。
我使用1条查询来检索用户及其电子邮件地址。然后,我想使用第二个查询来检索与另一个表中的用户相关的数据。 最后,必须使用此信息创建电子邮件并自动发送。
可以通过刀片还是在控制器中进行构建?
答案 0 :(得分:0)
是的,可以按照您的指示进行。示例:
控制器
...
$user = User::firstOrFail($id);
$order = Order::firstOrFail($order_id);
Mail::send(new Notification($user, $order));
...
可邮寄
class Notification extends Mailable
{
use Queueable, SerializesModels;
public $user;
public $order;
public function __construct(User $user, Order $order)
{
$this->user = $user;
$this->order = $order;
}
public function build()
{
return $this->from('example@example.com', 'Example'))
->subject('Order processed')
->view('emails.notification')
->with([
'name' => $this->user->name,
'code' => $this->order->code,
'amount' => $this->order->amount,
]);
}
}
查看刀片服务器
Hi, {{$name}},
Your order {{$code}} has already been processed for an amount of {{$amount}}.
A cordial greeting.
请记住使用邮件服务器的值配置.env文件。
gmail的示例
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=apppassword
MAIL_ENCRYPTION=tls
More information on creating mailables
如果有帮助,请接受它作为正确答案。谢谢。
亲切的问候。