laravel5.7发送邮件
发送邮件
一、注册邮箱
1.注册邮箱 获取授权码(不是登录密码)
二、在laravel框架的住配置文件 .env 里面配置参数 (以下参数作为参考,根据自己注册的信息参数如实填写) //发送方的信息
MAIL_DRIVER=smtp //发送邮件的协议
MAIL_HOST=smtp.qq.com //发送邮件服务器地址
MAIL_PORT=25 //发送邮件的监听端口
MAIL_USERNAME=111111@qq.com //发送方
MAIL_PASSWORD=xxxxx //客户端的授权密码 不是登录密码
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS= 111111@qq.com 发送方
三、配置邮箱配置文件(分配权限)
文件路径:config/mail.php
修改成以下格式;
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
四、实战(发送邮件测试)
通过Laravel的artisan工具匠生成一个控制器
php artisan make:controller MailController --resource
在控制器中写一个方法,即发送邮件的方法
注意:先引入Laravel框架自带的邮件类
use Mail;
//$email 是要发送的邮件号,即接收方
public function sendMail($email){
//在闭包函数内部不能直接使用闭包函数外部的变量 使用use导入闭包函数外部的变量$email
Mail::send('视图' , [ 所需参数,没有则为空 ,注意是数组] , function($message)use($email){
//设置主题
$message->subject("邮件标题");
/ /设置接收方
$message->to($email);
});
}
举例:
第一种 发送带有html标签内容:
public function sendemail(){
$email = request()->email;
$this->send($email);
}
public function send($email){
\Mail::send('email' , ['name'=>$email] ,function($message)use($email){
//设置主题
$message->subject("欢迎注册滕浩有限公司");
//设置接收方
$message->to($email);
});
}
第二种 发送纯文字:
public function sendemail(){
$email = request()->email;
$this->send($email);
}
public function send($email){
\Mail::raw('hello' ,function($message)use($email){
//设置主题
$message->subject("欢迎注册滕浩有限公司");
//设置接收方
$message->to($email);
});
}
//通过调用上面这个方法即可调用发送邮件类,发送邮件
$this->sendMail(接收方的邮件号);