首页 > php框架 > Laravel > 正文

Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤

裘德小鎮的故事
发布: 2025-12-12 12:42:07
原创
313人浏览过
Laravel通过SMTP等驱动配置邮件服务,使用Mailable类定义邮件内容并结合视图发送,或通过通知系统统一管理多渠道消息,支持队列异步处理以提升性能,适用于各类应用场景。

laravel如何发送邮件和通知_laravel邮件与通知系统发送步骤

Laravel 提供了一套强大且易于使用的邮件和通知系统,让你能快速实现邮件发送功能。无论是发送简单的通知邮件,还是复杂的模板邮件,Laravel 都提供了清晰的流程和灵活的配置方式。

配置邮件服务

在发送邮件之前,需要先配置邮件驱动和相关凭证。Laravel 支持多种邮件驱动,如 SMTP、Mailgun、Postmark、Sendmail 等,最常用的是 SMTP。

打开 .env 文件,填写邮件服务配置:
  • MAIL_MAILER=smtp
  • MAIL_HOST=smtp.mailtrap.io
  • MAIL_PORT=2525
  • MAIL_USERNAME=your_username
  • MAIL_PASSWORD=your_password
  • MAIL_ENCRYPTION=tls
  • MAIL_FROM_ADDRESS=from@example.com
  • MAIL_FROM_NAME="${APP_NAME}"
配置完成后,可运行 php artisan config:clear 清除缓存确保生效。

创建并发送邮件

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

执行命令创建邮件类:
  • 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,写入邮件 HTML 内容。

在控制器或路由中发送邮件:

逍遥商城系统
逍遥商城系统

一套傻瓜式的建站程序,适合各行业迅速建立自己的产品销售和展示网站。本系统由前台购物、后台管理、在线支付三部分组成,功能强大、使用简单、管理方便,只要会打字就会维护网站,管理网站就像做选择题和填空题一样简单v2.2版新增或改进的功能有:1.修补暴库漏洞、SQL注入漏洞;2.对会员及管理员密码使用MD5不可逆加密;3.增加邮件通知功能,有新的订单后,会向管理员发送邮件通知,结合QQ邮箱、邮箱短信通知功

逍遥商城系统 1
查看详情 逍遥商城系统
use App\Mail\WelcomeEmail;
use Illuminate\Support\Facades\Mail;

Mail::to('user@example.com')->send(new WelcomeEmail());
登录后复制

使用通知系统发送邮件

Laravel 的通知系统更适用于发送多种渠道的消息(如邮件、短信、数据库等)。你可以通过通知类统一管理。

生成通知类:
  • php artisan make:notification InvoicePaid
在生成的通知类中,toMail() 方法用于定义邮件内容:
use Illuminate\Notifications\Messages\MailMessage;

public function toMail($notifiable)
{
    return (new MailMessage)
                ->greeting('您好!')
                ->line('您的账单已支付。')
                ->action('查看账单', url('/invoice'))
                ->salutation('谢谢使用!');
}
登录后复制
确保用户模型使用了 Notifiable trait:
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    use Notifiable;
}
登录后复制
发送通知:
$user->notify(new InvoicePaid());
登录后复制

测试与队列优化

开发过程中建议使用日志或工具(如 Mailtrap)测试邮件,避免误发。

若邮件内容较多或用户量大,建议使用队列异步发送,提升响应速度:
  • 在 Mailable 类中使用 ShouldQueue 接口
  • 配置 QUEUE_CONNECTION=database 或 redis
  • 运行队列监听:php artisan queue:work

基本上就这些。Laravel 的邮件和通知机制结构清晰,配置简单,适合各种规模的应用场景。只要按步骤配置驱动、编写内容、调用发送即可实现功能。

以上就是Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

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

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