首页 > 解决方案 > 使用 laravel 向客户发送自定义电子邮件

问题描述

我的数据库中有客户数据和他们的电子邮件。就我而言,我想从客户表中获取用户电子邮件并向客户发送自定义电子邮件。我是 laravel 的新手,这是我第一次使用 laravel 通知。帮我做这件事!

我创建了这个 SendMailController:

    public function sendNotifications(Request $request, $id)
    {
        $id = $request->id;
        
        $customer_id = DB::table('jobs')->select('customers_id')->where('id', '=', $id)->get();
        $customer_email = DB::table('customer')->select('email')->where('id', '=', $customer_id)->get();
        $customer_firstname = DB::table('customer')->select('firstname')->where('id', '=', $customer_id)->get();

       sendEmail($customer_firstname, $customer_email);

 
       return view('admin.sendNotifications');
    }

我创建了一个 sendEmail 通知类:

class sendEmail extends Notification
{
    use Queueable;

    public function __construct($customer_firstname, $customer_email)
    {
        $this->customer_email = $customer_email;
        $this->customer_firstname = $customer_firstname;
    }

    public function via($notifiable)
    {
        return ['mail'];
    }

    public function toMail($notifiable)
    {
        return (new MailMessage)
                    ->error()
                    ->subject('Thank you!')
                    ->from('hashankannangara@gmail.com', 'Sender')
                    ->to($this->customer_email)
                    ->line($this->customer_firstname.''.'Thanks for got services from us!');
    }

    public function toArray($notifiable)
    {
        return [
            //
        ];
    }
}

如何将客户电子邮件传递给 to() 函数?我想在电子邮件中显示客户的名字并感谢他们。如何使用自定义模板并添加到此电子邮件?如果您能帮助我,我将不胜感激。

标签: phplaravelemailphp-7laravel-5.8

解决方案


https://laravel.com/docs/6.x/notifications#mail-notifications

你可以在 toMail 方法中使用这样的东西:

return (new CustomMail($this->customer))->to($this->customer->email);

当你打电话通知你必须通过一个客户


推荐阅读