前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >laravel框架发送邮件配置

laravel框架发送邮件配置

作者头像
ianzhi
发布2019-07-31 14:26:14
1.5K0
发布2019-07-31 14:26:14
举报
文章被收录于专栏:LNMP开发那些事LNMP开发那些事

本篇主要内容是laravel框架发送邮件的配置流程。 laravel提供了多种驱动来实现发送邮件功能,使用API方式的驱动相对来说更加高效,但是提供API服务的邮箱比较少,而且可能是收费的,所以还是使用SMTP协议驱动来配置。国内的大部分邮箱都支持smtp服务,以下配置流程以网易126邮箱为例。

1. 首先放通服务器端口

我最开始配置,感觉配置都没有问题,最后发现是因为服务器安全组没有打开。所以,在配置之前,建议检查一下服务器是否打开25或者465端口。

检查项目主要包括firewall和云服务商的安全组配置。

2. 在邮箱开启smtp服务

126邮箱在设置-POP3/SMTP/IMAP中,另外还需要在设置-客户端授权密码中设置授权码。

3. 打开laravel框架根目录下的.env文件,添加以下配置,内容请根据个人情况填写。

代码语言:javascript
复制
MAIL_DRIVER=smtp
MAIL_HOST=smtp.126.com
MAIL_PORT=465
MAIL_USERNAME=zhangsan@126.com
MAIL_PASSWORD=zhangsanzhangsan
MAIL_FROM_ADDRESS=zhangsan@126.com
MAIL_FROM_NAME=zhangsan
MAIL_ENCRYPTION=ssl

需要注意的是MAIL_ENCRYPTION可以根据需要修改,但是如果不使用ssl,也需要修改MAIL_PORT为25端口。

4. 编写可邮寄类

4.1 可以通过以下命令来生成可邮寄类:

代码语言:javascript
复制
php artisan make:mail UserRegister

4.2 也可以直接在App\Mail中新建文件来创建邮寄类,邮寄类需要继承Illuminate\Mail\Mailable类。

4.3 通过build方法来设置邮件视图。

代码语言:javascript
复制
<?php

namespace App\Mail;

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

class UserRegister extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('mail.user.register');
    }
}

5. 编写视图文件

视图文件就是正常的blade模板,可以使用所有的blade模板功能。正常编写html即可。如果需要携带数据,可以在可邮寄类的build方法中使用with来传送要使用的数据到视图文件中。

6. 现在就已经可以发送邮件了,下面我们来测试一下发送邮件

首先我们创建一个测试路由,用来测试发送邮件,打开routes/web.php文件,添加以下内容。

代码语言:javascript
复制
Route::get('/test', function () {
    \Illuminate\Support\Facades\Mail::to('ianzhi@126.com')->send(new \App\Mail\UserRegister());
});

现在就可以通过访问/test来测试发送邮件了。

通过以上配置,我们就可以通过laravel框架发送邮件啦~

文章作者ianzhi,原文地址:https://cloud.tencent.com/developer/article/1476968

文章版权归作者所有,转载请保留此声明。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 首先放通服务器端口
  • 2. 在邮箱开启smtp服务
  • 3. 打开laravel框架根目录下的.env文件,添加以下配置,内容请根据个人情况填写。
  • 4. 编写可邮寄类
    • 4.1 可以通过以下命令来生成可邮寄类:
      • 4.2 也可以直接在App\Mail中新建文件来创建邮寄类,邮寄类需要继承Illuminate\Mail\Mailable类。
        • 4.3 通过build方法来设置邮件视图。
        • 5. 编写视图文件
        • 6. 现在就已经可以发送邮件了,下面我们来测试一下发送邮件
          • 首先我们创建一个测试路由,用来测试发送邮件,打开routes/web.php文件,添加以下内容。
          相关产品与服务
          主机安全
          主机安全(Cloud Workload Protection,CWP)基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供资产管理、木马文件查杀、黑客入侵防御、漏洞风险预警及安全基线等安全防护服务,帮助企业构建服务器安全防护体系。现支持用户非腾讯云服务器统一进行安全防护,轻松共享腾讯云端安全情报,让私有数据中心拥有云上同等级别的安全体验。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档