Freek Van der Herten has posted a new tutorial to his site showing you a method for sending a "welcome" email for your Laravel (5.3) application using the recently added "mailables" functionality.
Recently I was working an a project where, in order to use the webapp, users should first apply for an account. Potential users can fill in request form. After the request is approved by an admin they may use the app.
Our client expected that the barrier to request an account should be very low. That’s why the request form doesn’t contain a password field. Instead, when an account is approved, a welcome mail is sent with a link to where the user can specify a password.
In this post I’d like to show you how we solved this with Laravel 5.3’s mailables.
He starts with a high level overview of what he's trying to accomplish: sending the approval when the admin approves a new user in the system. He includes all the code you'll need to create:
- the "approve" method in the User model
- the event handler for the "UserApproved" event
- generating the password reset hash/token
- the actual code for the mailable class to send the message
He also includes the view for the email's contents, a simple "WelcomeController" to handle the user responding to the message and the view for the verification and password reset "welcome" page.