In this article, we will see how to send email using SendGrid in laravel 9. Laravel provides a clean API over the popular SwiftMailer library with drivers for SMTP, PHP's mail
, sendmail
and more. For this example, we'll be sending an email with SendGrid using the SMTP Driver. SendGrid is a cloud-based SMTP provider that allows you to send email without having to maintain email servers.
SendGrid Documentation: Send Email with Laravel & SendGrid | Twilio
So, let's see, laravel 9 send email using SendGrid, and send mail in laravel 9 using SendGrid.
In this step, we will configure the .env file.
MAIL_MAILER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=sendgrid_api_key
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME="Websolutionstuff"
[email protected]
You can send 100 messages per SMTP connection
at a time.
Next, you need to create a Mailable class using the below command.
php artisan make:mail TestEmail
This command will create a new file under app/Mail/TestEmail.php
and it's looks like this.
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class TestEmail extends Mailable
{
use Queueable, SerializesModels;
public $data;
public function __construct($data)
{
$this->data = $data;
}
public function build()
{
$address = '[email protected]';
$subject = 'This is a demo!';
$name = 'Jane Doe';
return $this->view('emails.test')
->from($address, $name)
->cc($address, $name)
->bcc($address, $name)
->replyTo($address, $name)
->subject($subject)
->with([ 'test_message' => $this->data['message'] ]);
}
}
Let's create a file under app/resources/views/emails/test.blade.php
and add this code.
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
</head>
<body>
<h2>How To Send Email Using SendGrid In Laravel 9 - Websolutionstuff</h2>
<p>{{ $test_message }}</p>
</body>
</html>
In this step, we will use a mailable class and send a test mail.
<?php
use App\Mail\TestEmail;
$data = ['message' => 'This is a test!'];
Mail::to('[email protected]')->send(new TestEmail($data));
You might also like:
In this article, we will explore the process of installing phpMyAdmin in Ubuntu. phpMyAdmin is a popular web-based admin...
Jul-24-2023
In this article, we will see the laravel 10 apexcharts bar chart example. Here, we will learn about how to create a bar...
May-24-2023
In this example we will see laravel 8 one to one relationship example also you can use one to one relationship in l...
Nov-01-2021
In this article, we will see carbon diffForHumans in laravel. Carbon diffForHumans function in carbon provides the...
Dec-14-2020