laravel5.3 阅读 2333
laravel5.3-第6章-mail

laravel5.3-第6章-mail

2023-06-29 • lulubin

一、下载 laravel 5.3

composer create-project laravel/laravel=5.3.* laravel5.3_mail

新建数据库 laravel5.3_mail

修改 .evn 配置文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel5.3_mail
DB_USERNAME=laravel5.3_mail
DB_PASSWORD=laravel5.3_mail

修改中国时区,在 config/app.php 中修改

'timezone' => 'PRC',

执行数据迁移

cd laravle5.3_mail
php artisan migrate

创建用户数据

php artisan tinker
factory('App\User', 1)->create();

二、注册 mailtrap.io

mailtrap.io 是测试邮件发送的工具

注册地址:https://mailtrap.io,注册成功后登录

注意:科学上网速度会快一些

依次点击下图中的链接,找到 Host、Username、Password

https://file.lulublog.cn/images/3/2023/06/JF00Hi6QfljFlLRiQRCmMphc6lil0v.jpg?sign=c978a3029b30b13c49ea263265e4dcc7&t=6ae36d80

https://file.lulublog.cn/images/3/2023/06/dKk00F7TKWVVi0o07ifk0IbfChFuvl.jpg?sign=c55484526faba9452a2e2b42d489ee47&t=6ae36d80

修改 .evn 配置文件

MAIL_DRIVER=smtp
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=3d3c445ceefbd6
MAIL_PASSWORD=5aa134226451c4
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=alulubin@gmail.com
MAIL_FROM_NAME=lulubin

注意:MAIL_FROM_ADDRESS 和 MAIL_FROM_NAME 分别配置了发送者的邮件地址和名字

三、创建邮件模板

php artisan make:mail WelcomeToLulublog

修改创建成功的文件:app/Mail/WelcomeToLulublog.php 的 build 方法

public function build()
{
   return $this->view('email.welcome');
}

新建视图

resources/views/email/welcome.blade.php

https://file.lulublog.cn/images/3/2023/06/W6f2vmMPz06uGJp2mMVPbb7TZ0D08p.jpg?sign=8221606f5f76ea59e1b65bf8ab7476b5&t=6ae36d80

修改 routes/web.php

Route::get('/', function () {
   Mail::to('alulubin@gamil.com')->send(new \App\Mail\WelcomeToLulublog());
});

启动 serve

php artisan serve

四、发送邮件

访问 http://localhost:8000 进行发送邮件

打开 https://mailtrap.io/home 查看发送的邮件

https://file.lulublog.cn/images/3/2023/06/t66wicxvICcIEEiWiI6JmvC3m66N8c.jpg?sign=9d29a4d7376403c054982c797e6fdb99&t=6ae36d80

https://file.lulublog.cn/images/3/2023/06/QwX0w04auJs4T4s1wtsSa7mus6Xz1w.jpg?sign=b808eac3de753eb6ef74c7433fa72617&t=6ae36d80

五、发送带变量的邮件

修改 app/Mail/WelcomeToLulublog.php

public $user;

public function __construct(\App\User $user)
{
   $this->user = $user;
}

修改 routes/web.php

Route::get('/', function () {
   $user = \App\User::find(1);
   Mail::to($user->email)->send(new \App\Mail\WelcomeToLulublog($user));
});

修改 resources/views/email/welcome.blade.php

https://file.lulublog.cn/images/3/2023/06/AgTiGgVbBTkroo69aV6ZGTvwKkrirG.jpg?sign=dc219d2f508c668ecea35a16d96bae4f&t=6ae36d80

访问 http://localhost:8000 进行发送邮件

打开 https://mailtrap.io/home 查看发送的邮件

https://file.lulublog.cn/images/3/2023/06/N3N42n4ohGnnT3393IN93ih33Bnm3t.jpg?sign=b2db54764d136b658326272300d4c03c&t=6ae36d80