值得一看
广告
彩虹云商城
广告

热门广告位

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:

标贝悦读AI配音

标贝悦读AI配音

在线文字转语音软件-专业的配音网站

标贝悦读AI配音20

查看详情
标贝悦读AI配音


<!DOCTYPE html>
<html>
<head><title>欢迎加入</title></head>
<body>
<h1>你好,{{ $name }}!</h1>
<p>感谢你注册我们的服务。</p>
</body>
</html>

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

4. 发送邮件

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


use Illuminate\Support\Facades\Mail;
use App\Mail\WelcomeEmail;

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 Illuminate\Contracts\Queue\ShouldQueue;

class WelcomeEmail extends Mailable implements ShouldQueue
{
// …
}

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

php artisan queue:work

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

相关标签:

php word laravel redis html markdown cad app 端口 ssl ai 环境变量 php laravel html 构造函数 mail 接口 class public function this 异步 database redis ssl

大家都在看:

php怎么安装_如何在Windows上安装PHP并配置IIS
PHP实现视频收藏功能_PHP实现视频收藏功能
PHP命名空间怎么用_PHP命名空间最佳实践
如何避免PHP递增操作中的类型转换问题_PHP递增类型转换陷阱规避
php-gd怎么在图片上画点_php-gd绘制单个像素点
温馨提示: 本文最后更新于2025-10-11 22:29:15,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞5赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容