Laravel 5.4 最佳实践 -- Markdown邮件服务

Laravel 5.4 出来也有一段时间了,丢丢哥这两天看了下5.4的改动及升级的一些新特性,今天就来讲讲新特性之一的支持Markdown的邮件服务

新特性

多余的废话不说了,可以直接看官网,我们还是保持以往的原则,撸代码,让看的人拿了代码就能用,在使用中熟悉功能和了解知识点

一、注册一个邮件服务

1.在终端中敲命令

php artisan make:mail PushTest --markdown='emails.pushTest'

在app目录下会多出一个文件夹,在视图文件夹中也会多出文件

2.编辑app\Mail\PushTest.php 文件

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;  
use Illuminate\Mail\Mailable;  
use Illuminate\Queue\SerializesModels;  
use Illuminate\Contracts\Queue\ShouldQueue;

class PushTest extends Mailable  
{
    use Queueable, SerializesModels;

    public $user;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($user)
    {
        //
        $this->user = $user;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->markdown('emails.pushTest');
    }
}

3.编辑路由(由于我只是功能测试,写得随意,在路由中直接这样写,要灵活应用)

注意你的用户表里面一定要有数据还得有email字段

<?php  
use App\Mail\PushTest;  
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::name('domain')->get('/', function () {  
    $user = \DB::table('data_admin_user')->where(['id'=>2])->first();

    $email = new PushTest($user);

    Mail::to($user)->send($email);

    return view('welcome');
});
  1. 编辑视图文件
@component('mail::message')
# {{ $user->name }}

> This is My Test
    $info = array();

    foreach($data as $v){
        $v->time = time();
    }
`end demo`

----

**歌词**

- 想飞上天和太阳肩并肩,

- 世界等着我去改变。


_End Demo_



@component('mail::button', ['url' => 'https://www.blog8090.com'])
加入我们
@endcomponent

Thanks,<br>  
{{ config('app.name') }}
@endcomponent
  1. 修改邮件服务的配置(丢丢哥用的163 邮箱服务 其他邮箱服务的端口可以在网上查查 很多报错不说端口错误就是邮箱服务没开)

配置1

单单配完上面的还不够,不然laravel会一直报错,什么预期得到250,最终结果553.

这里的ADDRESS 必须和env里面的账号一致 否则 出错 配置2

6.访问网页,查看邮件

邮件结果

其他

觉得这个Markdwon太丑?没事 有模版 各种喜好换。

修改config/mail.php

模版风格配置

这个东西在哪改呢 ?

终端输入命令

终端

然后在视图文件夹中多个了 vendor 目录

目录

就是在这里定义模版拉.....

您的支持是对我最大的鼓励!