一、下载 laravel 5.4
composer create-project laravel/laravel=5.4.* laravel5.4_markdown
新建数据库 laravel5.4_markdown
修改 .evn 配置文件
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel5.4_markdown
DB_USERNAME=laravel5.4_markdown
DB_PASSWORD=laravel5.4_markdown
修改中国时区,在 config/app.php 中修改
'timezone' => 'PRC',
切换目录
cd laravel5.4_markdown
二、注册 mailtrap.io
mailtrap.io 是测试邮件发送的工具
注册地址:https://mailtrap.io,注册成功后登录
注意:科学上网速度会快一些
依次点击下图中的链接,找到 Host、Username、Password
修改 .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 migrate
如果报错
Specified key was too long; max key length is 1000 bytes
问题解决:在 AppServiceProvider 中调用 Schema::defaultStringLength 方法来实现配置:
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
进入 tinker
php artisan tinker
创建用户数据
factory('App\User', 5)->create();
启动 serve
php artisan serve
四、创建 mail 模板
创建模板
php artisan make:mail LessonPublished --markdown='emails.published'
修改 app/Mail/LessonPublished.php
public $user;
public function __construct($user)
{
$this->user = $user;
}
修改 resources/views/emails/published.blade.php
修改 routes/web.php
Route::get('/', function () {
$email = new \App\Mail\LessonPublished(\App\User::first());
Mail::to(\App\User::first()->send($email));
});
发布视图
php artisan vendor:publish --tag=laravel-mail
发布成功后会在 resources/views/vendor 下新增一个 mail 文件夹
复制 resources/views/vendor/mail/html/themes/default.css 到 resources/views/vendor/mail/html/themes 并命名为 lulublog.css
修改 lulublog.css
.header {
padding: 25px 0;
text-align: center;
background-color: blue;
}
修改 config/mail.php
'markdown' => [
'theme' => 'lulublog',
'paths' => [
resource_path('views/vendor/mail'),
],
],
访问 http://127.0.0.1:8000/ 发送邮件
打开 https://mailtrap.io/home 查看发送的邮件