Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程

1次阅读

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

Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程

在 Laravel 中发送邮件变得异常简单,得益于其强大的 Mailables 系统。你不再需要手动配置 SMTP 或拼接邮件内容,Laravel 提供了清晰、优雅的面向对象方式来构建和发送邮件。本文将带你一步步实现从创建 Mailable 类到成功发送邮件的全过程。

创建并配置 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>

然后在视图中使用这些变量:

Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程

Musho

AI网页设计Figma插件

Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程 76

查看详情 Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程

<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 AppMailWelcomeEmail; use IlluminateSupportFacadesMail;  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中文网其它相关文章!

text=ZqhQzanResources