Laravel5.5实现邮箱发送功能

我们两清 提交于 2019-11-30 15:00:29

一、 邮箱配置

我使用的163邮箱做的发送,需登录163邮箱开启POP3和SMTP服务,以及生成授权密码。

 
打开设置,开启SMTP

打开SMTP服务之后,还需要开启授权密码并设置。

 

 
打开服务和配置授权密码

二、 Laravel配置

只需要配置.env即可。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465
MAIL_USERNAME=你的163邮箱地址
MAIL_PASSWORD=你的163邮箱地址对应的授权密码(不是登录密码)| 腾讯企业邮是邮箱密码
MAIL_ENCRYPTION=ssl | 腾讯企业邮是tls
MAIL_FROM_ADDRESS="你的163邮箱地址 | 腾讯企业邮是需要这项和MAIL_USERNAME一模一样的"
MAIL_FROM_NAME="你期望的发件人名称"

端口465是使用了ssl;MAIL_ENCRYPTION不填的话,端口是25;注意MAIL_PASSWORD是授权密码,不是登录密码!

例如:

 

 

三、 编码

新建一个或在需要调用发送邮件的controller,里面需要发邮件的函数增加:

use Illuminate\Support\Facades\Mail;

// 在函数内,例如post获得email地址之后调用:
$message = 'test'; 
$to = '你需要发送的邮箱地址';
$subject = '邮件名称';
Mail::send(
    'emails.test', 
    ['content' => $message], 
    function ($message) use($to, $subject) { 
        $message->to($to)->subject($subject); 
    }
);例如:

 

 

 

第一个参数emails.test是view下的blade文件,用来显示邮件内容;第二参数是传给view文件的变量;第三个参数是闭包函数,用来配置收件人地址和邮件名称等。

新建文件:./resources/views/emails/test.blade.php

例如:


 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!