Register your mailables (from App\Mails) or notifications (from App\Notifications) in routes/mailbook.php using the Mailbook::add() method.
You can register a class directly, and Mailbook will use dependency injection for its parameters. Alternatively, you can use a closure to manually instantiate the mail with specific data or use dependency injection within the closure.
// Register a mailable class (uses dependency injection for parameters)
Mailbook::add(VerificationMail::class);
// Register a notification class
Mailbook::add(InvoiceCreatedNotification::class);
// Use a closure to customize parameters
Mailbook::add(function (): VerificationMail {
$user = User::factory()->make();
return new VerificationMail($user, '/example/url');
});
// Use dependency injection inside a closure
Mailbook::add(function (VerificationService $verificationService): VerificationMail {
return new VerificationMail($verificationService, '/example/url');
});