laravel 5.1发送邮件

考虑到可能会有多个控制器使用到邮件发送功能,我们特地将其写在一个独立的文件夹下,其他控制器使用时只需引入即可。

首先,可以参考一下文档:https://laravel-china.org/docs/laravel/5.1/mail/1070

在这里我们不使用任何驱动

第一步,创建email目录,并在email目录下创建一个视图(例如text.blade.php),内容不重要,后面要用。

第二步,配置".env"文件,首先要确定要用来发送邮件的邮箱类型(qq邮箱、企业邮箱、163邮箱、google邮箱等),这里先使用腾讯企业邮箱做个示范,大家有兴趣可以自己坐一下其他的。

打开企业邮箱,找到“设置-->客户端设置-->设置方法”,记住发送服务器以及起后面的端口号,

就是这一条,不同类型的邮箱服务器也不一样,这里就是为了让大家记住这一个步骤,然后来填写 .env,如下图,大家可以发现前两条是我们上面的服务器与端口号。

第三步,配置“config/mail”文件,

第四步,编写“Helpers/Email”类,这一步可以参照 https://laravel-china.org/docs/laravel/5.1/mail/1070上的:

    public function send(Request $request, $id)
    {
        $user = User::findOrFail($id);

        Mail::send('emails.reminder', ['user' => $user], function ($m) use ($user) {
            $m->from('hello@app.com', 'Your Application');

            $m->to($user->email, $user->name)->subject('Your Reminder!');
        });
    }

这一段代码,这里的“emails.reminder”可以替换为 “ email.text ”,知道是从哪来的吗?上面创建的 。

第五步,在“UserController”中调用上一步的类,

自己配置好路由,postmen里面测试一下。

,如果一直无响应,最后报超时错误,那就要注意了,可能是服务器的端口被防火墙关闭,那么就需要关闭防火墙再试试。首先,需要知道,只有管理员有权限关闭防火墙,即切换到root,如果忘记密码可以 “sudo passwd root”,然后输入新密码。现在再来切换到root,再来操作防火墙:1、service iptables stop/start/status 2、systemctl stop firewalld 具体可以参考这位大神的:https://blog.csdn.net/qq_35971258/article/details/79318842

好了就说这么多,能自己爬上来的坑才是好坑。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值