Mail (Correo electronico)
Laravel ofrece una API limpia y expresiva para enviar correos electronicos, con soporte para multiples drivers y plantillas personalizables.
Crear un Mailable
php artisan make:mail WelcomeMail --markdown=emails.welcome
class WelcomeMail extends Mailable
{
use Queueable, SerializesModels;
public function __construct(
public User $user
) {}
public function envelope(): Envelope
{
return new Envelope(
subject: 'Bienvenido a nuestra plataforma',
);
}
public function content(): Content
{
return new Content(
markdown: 'emails.welcome',
);
}
public function attachments(): array
{
return [
Attachment::fromPath('/path/to/guia.pdf')
->as('guia-inicio.pdf')
->withMime('application/pdf'),
];
}
}
Enviar correos
// Envio sincrono
Mail::to($user)->send(new WelcomeMail($user));
// Envio en cola (recomendado)
Mail::to($user)->queue(new WelcomeMail($user));
// Con CC y BCC
Mail::to($user)
->cc('admin@example.com')
->bcc('logs@example.com')
->send(new WelcomeMail($user));
Laravel incluye un renderizador de previsualizacion para probar los correos en el navegador con return new WelcomeMail($user) en una ruta. Tambien soporta Mailpit para desarrollo local.