首页 > php框架 > Laravel > 正文

Laravel如何发送邮件和配置邮件驱动

裘德小鎮的故事
发布: 2025-11-10 16:19:03
原创
418人浏览过
Laravel通过配置邮件驱动、创建Mailable类并调用send方法实现邮件发送。首先在.env中设置SMTP等驱动信息,如MAIL_MAILER=smtp;然后使用php artisan make:mail生成Mailable类,定义主题和视图模板;接着在控制器中通过Mail::to()->send()发送邮件,支持多收件人及抄送密送;开发时可用log驱动记录邮件内容便于调试。整个流程简洁高效,适合快速集成。

laravel如何发送邮件和配置邮件驱动

Laravel 发送邮件非常方便,内置了强大的邮件系统,支持多种邮件驱动,比如 SMTP、Mailgun、Postmark、Sendmail 等。配置和使用过程简单清晰,适合在项目中快速集成。

配置邮件驱动

Laravel 的邮件配置文件位于 config/mail.php,你可以在这里设置默认的邮件驱动、发件人信息等。实际环境变量建议写在 .env 文件中,便于管理。

常见的邮件驱动包括:

  • smtp:使用自定义 SMTP 服务器(最常用)
  • sendmail:使用本地 Sendmail 服务
  • mailgun:使用 Mailgun API
  • postmark:使用 Postmark 服务
  • log:仅记录邮件内容,用于测试

.env 中配置 SMTP 示例:

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 Name"

如果你使用 Gmail,注意要开启“两步验证”并生成“应用专用密码”作为 MAIL_PASSWORD。

创建邮件类 Mailable

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

php artisan make:mail WelcomeEmail

生成的类位于 app/Mail/WelcomeEmail.php。编辑它来设置收件人、主题、模板等:

示例代码:

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class WelcomeEmail extends Mailable
{
use Queueable, SerializesModels;

public $data;

public function __construct($data)
{
$this->data = $data;
}

public function build()
{
return $this->subject('欢迎加入')
->view('emails.welcome');
}
}

这里引用了一个视图模板 resources/views/emails/welcome.blade.php,你需要创建它:

标贝悦读AI配音
标贝悦读AI配音

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

标贝悦读AI配音 20
查看详情 标贝悦读AI配音



欢迎


你好,{{ $data['name'] }}


感谢注册,欢迎加入我们的平台!



发送邮件

在控制器或路由中使用 Mail::to() 发送邮件:

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

Mail::to('user@example.com')->send(new WelcomeEmail([
'name' => '张三'
]));

你也可以发送给多个收件人:

Mail::to(['a@ex.com', 'b@ex.com'])->send(new WelcomeEmail($data));

如果想抄送或密送:

$mail = new WelcomeEmail($data);
Mail::to('to@example.com')
->cc('cc@example.com')
->bcc('bcc@example.com')
->send($mail);

测试与调试

开发阶段推荐使用 log 驱动来避免真实发送:

MAIL_MAILER=log

所有邮件内容会被记录在 storage/logs/laravel.log 中,便于查看结构和调试。

你也可以使用 MailtrapSMTP Debugging 工具来捕获测试邮件。

基本上就这些。配置好驱动,创建 Mailable 类,调用 send 方法即可完成邮件发送。整个流程清晰,扩展性强。

以上就是Laravel如何发送邮件和配置邮件驱动的详细内容,更多请关注php中文网其它相关文章!

驱动精灵
驱动精灵

驱动精灵基于驱动之家十余年的专业数据积累,驱动支持度高,已经为数亿用户解决了各种电脑驱动问题、系统故障,是目前有效的驱动软件,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号