Testing emails with Mailhog
[00:00] If you've ever tested emails in Laravel, there's a good chance you might have used something like mailtrap.io. Laravel Sail ships with a similar tool called Mailhog. If you open your environment file and scroll down to the mail configuration, you'll see that the mail host is set to Mailhog.
[00:23] If you also open docker-compose.yml
and look for Mailhog, you'lll see that there are two ports configured. The first one is the smtp port, and the second one points to the Mailhog dashboard. We can access that dashboard by opening the browser and going to localhost:8025
. And here it is.
[00:53] Let's create an email, send it, and see if this thing works. Open your terminal and type in sail artisan make:mail HelloMail --markdown=emails.hello
, the name of the mail, and to make it markdown based, we can do --markdown=emails.hello
and this will create an email directory with a hello
view.
[01:23] Let's open the hello
view; resources, views, emails, hello, and let's just say "Hello, nice to meet you!" and save. Now to send it, let's open our web routes, and here inside the root url we can do Mail::to('druc@pinsmile.com')->send(new HelloMail())
- and let's make sure we import the mail facade.
[02:00] Now to test it, let's visit the root url. So I'll go to localhost, and we receive this error becase we forgot to set a sender address. To do that, go to your environment file, and here mail from address, set your e-mail.
[01:19] Now let's give it another go. And if we check Mailhog, here is the email. We can click it, view the html, the plai text, source, mime type, etc.
-
1Setup a new project using Laravel Sail (macOS)02:33
-
2Executing commands inside your application containers02:20
-
3Creating a database client connection01:30
-
Testing emails with Mailhog02:35
-
5Changing the php version in Laravel Sail01:29
-
6Run Sail and Valet in parallel01:39
-
7Customizing Laravel Sail01:25
-
8Setup Laravel Sail for an existing Laravel application00:49
-
1Setup a new project using Laravel Sail (macOS)02:33
-
2Executing commands inside your application containers02:20
-
3Creating a database client connection01:30
-
Testing emails with Mailhog02:35
-
5Changing the php version in Laravel Sail01:29
-
6Run Sail and Valet in parallel01:39
-
7Customizing Laravel Sail01:25
-
8Setup Laravel Sail for an existing Laravel application00:49