一、设置邮箱的smtp打开这里我以163邮箱为例,其他邮箱一样
1、登录163邮箱 - 打开设置- POP3/SMTP/IMAP - 将其打开
将前面的√打上,默认是关闭的
这里是查看和设置授权密码,也就是等下要在laravel填写的密码
二、larvel 添加邮件发送组件
1、首先安装
Guzzle HTTP 函数库 这里使用的
Composer 安装,
composer require guzzlehttp/guzzle
2、
生成邮件在 Laravel 中,每种类型的邮件都代表一个「Mailable」对象。这些对象存储在 app/Mail 目录中。如果在你的 应用中没有看见这个目录,别担心,在首次使用 make:mail 命令创建 Mailable 类时这个目录会被创建,例如:
php artisan make:mail 文件名字 例如:php artisan make:mail OrderShipped
3、配置
所有的邮件配置文件都在 config/mai.php
driver => ‘smtp’ //驱动
host => 'smtp.163.com' //主机
port => '465' //端口
from =>[
'address' =>daxue_weixiao@163.com , //发送人邮件地址
'name' => '测试邮件名称', //发送人名字
], //如果这里配置了,则所有的邮件发送都会统一使用这里的发件人,当然也可以在发,每一封邮件时指定邮件人
encryption => 'ssl'
username => daxue_weixiao@163.com 发件人的邮箱账号
password => 授权码(就是第一步邮箱设置的授权码)
配置完毕,可以写代码了
三、开始写代码,发送邮件
1、在第二步骤 第2小步,我生成了一个OrderShipped.php的文件,所以找到这个文件位 置/app/Mail/OrderShipped.php
在build 方法里面编写你要发送的邮件模板内容
public function build()
{
return $this
->subject('验证码') //邮件主题
->view('email'); //邮件模板,你要创建相应的模板
}
如果想要传参数到模板,比如验证码,就可以设置公共的属性参数,那么视图就可直接使用了
public $rand;
public function __construct($rand)
{
$this->rand= $rand;
}
所以最后的我的OrderShipped.php文件的代码如下
2、使用
OrderShipped.php 发送邮件
在你需要发送邮件的控制器的方法就可以使用OrderShipped.php发送邮件啦
to里面是要发给谁的邮箱地址
作者:xiaoer0128
链接:https://www.jianshu.com/p/7941792b5146