网站建设咨询
ECS云服务器,3年付仅3折,17元/月起

【网站建站教程】laravel框架是怎么发送邮件的

Laravel 支持多种邮件驱动,包括 smtp、Mailgun、Maildrill、Amazon SES、mail 和 sendmail。Mailgun 、 Amazon SES 、Maildrill 都是第三方邮件服务。mail 驱动使用 PHP 提供的 mail 函数。sendmail 驱动通过 Sendmail/Postfix(Linux)提供的命令发送邮件,smtp 驱动使用支持 ESMTP 的 SMTP 服务器发送邮件。mail 不安全,sendmail 需要安装配置 Sendmail/Postfix,并且信用不高,很容易被当成垃圾邮件,第三方服务的信用是最高的,商业软件推荐使用。

1. 开启 QQ 邮箱的 SMTP 支持

首先我们需要在 QQ 邮箱的账号设置里开启 POP3 和 SMTP 服务。具体请查看 如何打开 POP3/SMTP/IMAP 功能? 。
只需要开启以下:
laravel邮件发送

复制方框里的『授权码』,授权码将作为我们的密码使用:

邮件发送

  1. 邮箱发送配置

Laravel 中邮箱发送的配置存放于 config/mail.php 中。不过 mail.php 中我们所需的配置,都可以通过 .env 来配置。作为最佳实践,我们优先选择通过环境变量来配置:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=25
MAIL_USERNAME=xxxxxxxxxxxxxx@qq.com
MAIL_PASSWORD=xxxxxxxxx
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=xxxxxxxxxxxxxx@qq.com
MAIL_FROM_NAME=52yd

选项讲解:

MAIL_DRIVER=smtp
使用支持 ESMTP 的 SMTP 服务器发送邮件;
MAIL_HOST=smtp.qq.com
QQ 邮箱的 SMTP 服务器地址,必须为此值;
MAIL_PORT=25
QQ 邮箱的 SMTP 服务器端口,必须为此值;
MAIL_USERNAME=xxxxxxxxxxxxxx@qq.com
请将此值换为你的 QQ + @qq.com;
MAIL_PASSWORD=xxxxxxxxx
密码是我们第一步拿到的授权码;
MAIL_ENCRYPTION=tls
加密类型,选项 null 表示不使用任何加密,其他选项还有 ssl,这里我们使用 tls 即可。
MAIL_FROM_ADDRESS=xxxxxxxxxxxxxx@qq.com
此值必须同 MAIL_USERNAME 一致;
MAIL_FROM_NAME=52yd
用来作为邮件的发送者名称。

3. 添加邮件通知频道

首先我们需要修改 via() 方法,并新增 mail 通知频道:
laravel通知类
laravel回复

长沙网站建设|开发|制作|技术-吾爱阅读博客
请先登录后发表评论
  • latest comments
  • 总共0条评论