Laravel-5.7 发送邮件接口调用

Laravel-5.7 发送邮件接口调用

小污龟 1,504 2022-10-18

一、注册邮箱(例子163邮箱)

1.注册163邮箱

2 设置(在最上方中间位置)  ->  POP3/SMTP/IMAP ->  勾选POP3  和SMTP 

3.左侧菜单有设置客户端授权密码  ->  划分密码 (不是登录密码)

二、在laravel框架的住配置文件 .env 里面配置参数

(以下参数作为参考,根据自己注册的信息参数如实填写)

//发送方的信息

MAIL_DRIVER=smtp  		//发送邮件的协议

MAIL_HOST=smtp.163.com  	//发送邮件服务器地址

MAIL_PORT=25  			//发送邮件的监听端口

MAIL_USERNAME=111111@163.com  	//发送方

MAIL_PASSWORD=xxxxx		//客户端的授权密码  不是163的登录密码

MAIL_ENCRYPTION=null

三、配置邮箱配置文件(分配权限)

        文件路径:config/mail.php

        修改成以下格式(修改的地方已加重颜色);

        'from' => [

                'address' => env('MAIL_USERNAME', 'hello@example.com'),

                'name' => env('MAIL_FROM_NAME', 'Example'),

            ]

四、实战(发送邮件测试)

通过Laravel的artisan工具匠生成一个控制器

php artisan make:controller MailController

在控制器中写一个方法,即发送邮件的方法

注意:先引入Laravel框架自带的邮件类

use Mail;

//$email 是要发送的邮件号,即接收方
public function sendMail($email){

        //在闭包函数内部不能直接使用闭包函数外部的变量  使用use导入闭包函数外部的变量$email
        Mail::send('视图' , [ 所需参数,没有则为空 ,注意是数组] , function($message)use($email){
        
                //设置主题
                $message->subject("邮件标题");
                
                / /设置接收方
                $message->to($email);
        });
}

通过调用上面这个方法即可调用发送邮件类,发送邮件

$this->sendMail(接收方的邮件号);  

tips若有什么不明白的,或有什么不足之处,请及时与我联系(留言),我会加以改善,感谢支持!!