1.修改 .env 文件
MAIL_DRIVER=log
2.邮件路由
Route::namespace('Learn')->group(function () {
Route::get('sendEmail', 'MailController@sendEmail')->name('send.email');
Route::post('confirmEmail/{id}', 'MailController@confirmEmail')->name('confirm.email');
});
3.通常情况我们要定制邮件的格式,所以可以新建一个blade模版来定制邮件内容,内容如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>确认链接</title>
</head>
<body>
<h1>感谢您注册此网站</h1>
<p>
请点击下面链接完成步骤
<a href="{{route('confirm.email',$id)}}">
{{route('confirm.email',$id)}}
</a>
</p>
<p>
如果这不是您本人操作请忽略此邮件!
</p>
</body>
</html>
4.对应控制器的方法如下
public function sendEmail()
{
$view = 'email.email';
$id = 99;
$data = compact('id',$id);
$from = 'roy@mail.com'; // 发送者
$name = 'roy';
$to = 'li@mail.com'; // 接受者
$subject = '感谢注册此网站!请您确认邮箱.';
\Mail::send($view,$data,function ($message) use ($from,$name,$to,$subject){
$message->from($from,$name)->to($to)->subject($subject);
});
}
public function confirmEmail($id)
{
dd($id);
}
5. 执行发送路由,在 storage/logs/laravel.log 中有如下
[2018-07-17 10:14:51] local.DEBUG: Message-ID: <32e04856f0f4a5ff1ce933e8c59239e6@learn.laravel.com>
Date: Tue, 17 Jul 2018 10:14:51 +0000
Subject: =?utf-8?Q?=E6=84=9F=E8=B0=A2=E6=B3=A8=E5=86=8C?=
=?utf-8?Q?=E6=AD=A4=E7=BD=91=E7=AB=99=EF=BC=81?=
=?utf-8?Q?=E8=AF=B7=E6=82=A8=E7=A1=AE=E8=AE=A4=E9=82=AE=E7=AE=B1=2E?=
From: roy <roy@mail.com>
To: li@mail.com
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>确认链接</title>
</head>
<body>
<h1>感谢您注册此网站</h1>
<p>
请点击下面链接完成步骤
<a href="http://learn.laravel.com/confirmEmail/99">
http://learn.laravel.com/confirmEmail/99
</a>
</p>
<p>
如果这不是您本人操作请忽略此邮件!
</p>
</body>
</html>
网友评论