How to use Laravel’s Mailable with Sendgrid

I am a comfortable developer, so when I met connect my application with Sendgrid request, I knew the Laravel’s mail driver will be the right way.

I have found this great package https://github.com/s-ichikawa/laravel-sendgrid-driver which just in a few steps connects your application with Sendgrid and you can enjoy convenience of using Laravel.

However, in the documentation there is used Mail facade:

and I want to use Mailable class (https://laravel.com/docs/5.3/mail#generating-mailables) and here the question comes: How can I pass the embedded data or use the template ID? Let’s see.

If I take a look at the Illuminate\Mail\Message class, I will find this method:

This is the way how the data can be embedded. But in the Illuminate\Mail\Mailable there is nothing about embedding data.

Well, we need to create Swift_Image instance ourselves and pass that as a withSwiftMessage method’s callback:

Probably I’m going to create a pull request for the possibility to add the embedded data with the Mailable class. I will update this post when I create the PR.