Email verification is sent by your own application code, Laravel Breeze doesn't change that.
You can check your ./app/Providers/EventServiceProvider.php
For this event registration:
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
];
That means when a Registered event is dispatched that listener will be executed.
Reference from laravel/laravel repo: https://github.com/laravel/laravel/blob/4931af14006610bf8fd1f860cea1117c68133e94/app/Providers/EventServiceProvider.php#L17-L21
The reason you might not been seen any notifications been sent is because you have to manually add a trait to your User model to hint Laravel you want it to send that notification. Take a look at what the SendEmailVerificationNotification does:
public function handle(Registered $event)
{
if ($event->user instanceof MustVerifyEmail && ! $event->user->hasVerifiedEmail()) {
$event->user->sendEmailVerificationNotification();
}
}
So it first checks if the User instance implements the MustVerifyEmail, didn't yet verified their email, and if so sends the email.
The ./app/Models/User.php model Laravel ships with , has the MustVerifyEmail interface imported on the top, but the class itself does not implements it by default. It is a opt-in feature, which means you should add it manually:
namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail;
// ...
// needs to add the `implements` manually
class User extends Authenticatable implements MustVerifyEmail
{
// ...
All of this is described with more detail in the docs:
https://laravel.com/docs/8.x/verification#introduction
Regarding the email template, the reason you can't find it is because it doesn't exist. The sendEmailVerificationNotification(...) method sends the VerifyEmail notification:
public function sendEmailVerificationNotification()
{
$this->notify(new VerifyEmail);
}
Which in turn builds up the message without a template:
protected function buildMailMessage($url)
{
return (new MailMessage)
->subject(Lang::get('Verify Email Address'))
->line(Lang::get('Please click the button below to verify your email address.'))
->action(Lang::get('Verify Email Address'), $url)
->line(Lang::get('If you did not create an account, no further action is required.'));
}
The way you could customize it is be overriding the sendEmailVerificationNotification(...) method in your app's User model, and send a different notification where you can build the email the way you need/want.
Hope it is helps.