Laravel通过Mailable类和配置SMTP驱动实现邮件发送,1. 使用artisan命令创建Mailable类;2. 在build方法中设置主题、视图与数据;3. 编写Blade模板并传递变量;4. 在.env中配置MAIL相关参数;5. 通过Mail门面在控制器中调用send方法发送邮件,支持多收件人与抄送,流程清晰且易于调试。

在 Laravel 中发送邮件变得异常简单,得益于其强大的 Mailables 系统。你不再需要手动配置 SMTP 或拼接邮件内容,Laravel 提供了清晰、优雅的面向对象方式来构建和发送邮件。本文将带你一步步实现从创建 Mailable 类到成功发送邮件的全过程。
Laravel 使用 Mailable 类来封装邮件逻辑。每个邮件都可以是一个独立的类,包含主题、收件人、视图模板和数据传递等信息。
使用 Artisan 命令创建一个 Mailable:
php artisan make:mail WelcomeEmail
该命令会在 app/Mail 目录下生成 WelcomeEmail.php 文件。打开它,你会看到一个空的 build 方法,这就是定义邮件内容的地方。
例如,设置邮件主题和使用的视图:
public function build()
{
return $this->subject('欢迎加入我们!')
->view('emails.welcome');
}
</font>
Laravel 邮件支持 Markdown 和普通 Blade 模板。这里以 Blade 为例。在 resources/views/emails 目录下创建 welcome.blade.php。
你可以通过 $message 变量访问邮件实例,也可以传递自定义数据。比如在 Mailable 中添加 with() 方法:
public function build()
{
return $this->subject('欢迎加入我们!')
->view('emails.welcome')
->with([
'name' => '张三',
'url' => 'https://example.com'
]);
}
</font>
然后在视图中使用这些变量:
<h1>你好,{{ $name }}!</h1>
<p>感谢注册,点击 <a href="{{ $url }}">这里</a> 开始使用。</p>
Laravel 支持多种邮件驱动:smtp、sendmail、mailgun、postmark 等。最常用的是 SMTP。配置位于 .env 文件中:
MAIL_MAILER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=your@gmail.com MAIL_PASSWORD=your-app-password MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=your@gmail.com MAIL_FROM_NAME="Your App"
注意:若使用 Gmail,需开启两步验证并生成“应用专用密码”作为 MAIL_PASSWORD。
使用 Laravel 的 Mail 门面即可发送邮件。先引入 Mailable 类:
use App\Mail\WelcomeEmail;
use Illuminate\Support\Facades\Mail;
Mail::to('user@example.com')->send(new WelcomeEmail());
</font>
你也可以发送给多个收件人或抄送:
Mail::to(['a@example.com', 'b@example.com'])
->cc('manager@example.com')
->send(new WelcomeEmail());
</font>
基本上就这些。Laravel 的 Mailables 让邮件发送变得结构清晰、易于维护。只要配置好驱动、写好模板、调用 send 方法,邮件就能顺利发出。不复杂但容易忽略细节,比如环境变量拼写或视图路径错误,调试时可借助 Laravel Log 或使用 log 驱动测试流程。
以上就是Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号