Laravel邮件发送怎么做_Laravel框架邮件发送配置与使用

Laravel 邮件系统通过配置驱动、创建 Mailable 类、编写视图模板和使用 Mail Facade 发送邮件,支持 SMTP 配置、数据传递、Markdown 模板及队列异步处理,实现高效邮件发送。

laravel邮件发送怎么做_laravel框架邮件发送配置与使用

Laravel 提供了一套简单而强大的邮件系统,让你可以轻松地发送文本或 HTML 邮件。整个流程包括配置邮件驱动、编写邮件类、发送邮件以及处理队列等。下面详细介绍 Laravel 中如何配置和使用邮件发送功能。

1. 邮件服务配置

在 Laravel 中,邮件配置文件位于 config/mail.php,你可以在这里设置默认的邮件驱动、发件人信息、SMTP 参数等。大多数情况下,你也可以通过环境变量来管理这些配置,更加安全灵活。

打开 .env 文件,配置如下内容:

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_email@gmail.com
MAIL_PASSWORD=your_app_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your_email@gmail.com
MAIL_FROM_NAME=”${APP_NAME}”

说明:

MAIL_MAILER:可选 smtp、sendmail、log、mailgun 等 MAIL_HOST:如使用 Gmail,则为 smtp.gmail.com MAIL_PORT:常用端口 587(TLS)或 465(SSL) MAIL_ENCRYPTION:加密方式,推荐 tls Gmail 用户注意:不能使用账户密码,需生成应用专用密码

2. 创建邮件类

Laravel 使用 Mailable 类来定义邮件内容。你可以使用 Artisan 命令生成:

php artisan make:mail WelcomeEmail

生成的类位于 app/Mail/WelcomeEmail.php。编辑该类的 build 方法:

示例代码:

public function build()
{
return $this->subject(‘欢迎注册’)
->view(’emails.welcome’); // 对应 resources/views/emails/welcome.blade.php
}

你也可以传递数据:

return $this->subject(‘订单确认’)
->view(’emails.order’)
->with([
‘order’ => $this->order,
‘user’ => $this->user
]);

3. 编写邮件视图模板

resources/views/emails/ 目录下创建 Blade 模板,例如 welcome.blade.php:

a style=”color:#f60; text-decoration:underline;” title= “html”href=”https://www.php.cn/zt/15763.html” target=”_blank”>html>

欢迎加入

你好,{{ $name }}!

感谢你注册我们的服务。

Laravel 也支持 Markdown 邮件,能自动生成美观的响应式邮件样式,使用命令:php artisan make:mail OrderShipped –markdown=mail.order.shipped

4. 发送邮件

使用 Mail Facade 的 to 方法发送邮件:

use IlluminateSupportFacadesMail;
use AppMailWelcomeEmail;

Mail::to(‘user@example.com’)->send(new WelcomeEmail());

支持多种收件人方式:

抄送:Mail::to(…)->cc(‘…’)->send(…) 密送:bcc() 发送给多个用户:to([‘a@ex.com’, ‘b@ex.com’])

如果 Mailable 类中已指定接收者(比如构造函数传入),可以直接 send。

5. 队列异步发送邮件

邮件发送较慢,建议使用队列避免阻塞请求。先确保已配置队列驱动(如 database、redis、sqs),然后在 Mailable 类中实现 ShouldQueue 接口:

use IlluminateContractsQueueShouldQueue;

class WelcomeEmail extends Mailable implements ShouldQueue
{
// …
}

这样调用 send() 时会自动推入队列。记得运行队列监听器:

php artisan queue:work

基本上就这些。Laravel 的邮件系统设计清晰,配合队列使用体验更佳。只要配置正确,无论是通知、验证还是营销邮件都能高效发送。

以上就是Laravel邮件发送怎么做_Laravel框架邮件发送配置与使用的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1323393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月12日 10:07:25
下一篇 2025年12月12日 10:07:41

相关推荐

发表回复

登录后才能评论
关注微信