Php artisan make mail
A new mail!
php artisan make:mail
is a command in Laravel that helps you create a new mail class. Here's what it does:
- It generates a new PHP class in the
app/Mail
directory with a name based on the input you provide. - The class extends the
Illuminate\Mail\Mailable
class, which provides a basic structure for creating mail messages. - The class includes a
build()
method, which is where you'll define the content and layout of your mail message.
To use this command, simply run:
php artisan make:mail [MailName]
Replace [MailName]
with the name you want to give your mail class. For example:
php artisan make:mail WelcomeEmail
This will generate a new file WelcomeEmail.php
in the app/Mail
directory.
Here's an example of what the generated code might look like:
// app/Mail/WelcomeEmail.php
namespace App\Mail;
use Illuminate\Mail\Mailable;
class WelcomeEmail extends Mailable
{
public function build()
{
return $this->markdown('emails.welcome');
}
}
In this example, the WelcomeEmail
class extends the Mailable
class and defines a build()
method that returns a Markdown
instance. The markdown
method specifies the view file that will be used to render the mail message.
You can then use this mail class in your Laravel application to send mail messages. For example:
// app/Http/Controllers/AuthController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Mail\WelcomeEmail;
class AuthController extends Controller
{
public function register(Request $request)
{
//...
Mail::to($user->email)->send(new WelcomeEmail());
//...
}
}
In this example, the AuthController
sends a WelcomeEmail
instance to the user's email address using the Mail
facade.
That's it! With php artisan make:mail
, you can quickly create new mail classes and start sending custom mail messages in your Laravel application.