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 目录

目录

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

希望我的博客对你们有所帮助,你的认可就是我最大的动力。。

本文为作者原创,允许转载,转载后请以链接形式说明文章出处.
如转载但不标明来源,后果自负。

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

发表于: 作者:吕倡
博主经历空降兵部队8年军旅生涯,退伍后到北京IT兄弟连学习软件编程开发,工作不到一年后IT进入兄弟会,一晃在IT行业混迹了5、6年的时间。。。从一名小白也进入到了IT管理者的位置。博客,是博主学习知识分享以及私人笔记(未发布的博客)留存的地方,方便随时观看。
我的站点 Github 新浪微博 Email联系我