Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Great, here are the steps to achieve that goal:

  1. Download and install Mailhog on your local machine. You can find the installation instructions on the official Mailhog website.

  2. Create a new Laravel project or open an existing one.

  3. 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
    
  4. Create a new Laravel mail class or edit an existing one. For example, let's create a WelcomeMail class:

    php artisan make:mail WelcomeMail
    
  5. 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',
       ]);
    }
    
  6. 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>
    
  7. Test the email by sending it to yourself or a test email address:

    Mail::to('test@example.com')->send(new WelcomeMail);
    
  8. 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!