Great, here are the steps to achieve that goal:
Download and install Mailhog on your local machine. You can find the installation instructions on the official Mailhog website.
Create a new Laravel project or open an existing one.
Configure Laravel to use Mailhog as the mail driver. Open the .env
file and update the MAIL_DRIVER
value to smtp
. Then add the following values:
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Create a new Laravel mail class or edit an existing one. For example, let's create a WelcomeMail
class:
php artisan make:mail WelcomeMail
Open the WelcomeMail
class and customize it according to your needs. For example, let's send a welcome email to a new user:
public function build()
{
return $this->view('emails.welcome')->with([
'name' => 'John Doe',
]);
}
Open the welcome.blade.php
view file and customize it according to your needs. For example:
<h1>Welcome, {{ $name }}</h1>
<p>Thank you for signing up on our website.</p>
Test the email by sending it to yourself or a test email address:
Mail::to('test@example.com')->send(new WelcomeMail);
Check the Mailhog interface by opening it in your web browser at http://localhost:8025/
. You should see the email that you just sent in the inbox.
Congratulations, you've successfully used Laravel to send emails via Mailhog!
Asked: 2021-08-19 11:00:00 +0000
Seen: 13 times
Last updated: Feb 23 '22