美文网首页Laravel
Laravel5.3+Mailable发送邮件

Laravel5.3+Mailable发送邮件

作者: crazytony | 来源:发表于2016-09-17 18:38 被阅读0次

5.3版本新添加了mailable,在原有发送邮件方法的基础上增加了更强大的方式,也更方便的运用
使用 artisan 创建

php artisan make:mail WelcomeToMyHouse

生成 App/Mail/WelcomeToMyHouse.php

<?php

namespace App\Mail;

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

class WelcomeToMyHouse extends Mailable
{
    use Queueable, SerializesModels;
    public $data; //定义一个公共的变量
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($data)
    {
        $this->data = $data;//接收传入的变量
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        //邮件模板视图 path: views/email/welcome.blade.php
        return $this->view('email.welcome')->subject($this->data->title);
    }
}

邮件模板 Views/email/welcome.blade.php

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{$data->title}}</title>
</head>
<body>
    <h2>欢迎你 {{$data->name}},来到我的地带</h2>
    <p>在这里你会发现无限乐趣。。</p>
</body>
</html>

配置mail.php

'from' => [
        'address' => 'xxxx@163.com',//发件地址
        'name' => 'Tony qu',//发件人名称
    ],

配置 .env

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=xxx
MAIL_PASSWORD=xxxx
MAIL_ENCRYPTION=null

这里使用 mailtrap 来测试邮件发送状态,找到测试账户信息,填入到上面.env对应的 配置中

邮件信息

现在正式开始操作邮件的发送
在 Route/web.php 定义一个路由

use Illuminate\Support\Facades\Mail;
use App\Mail\WelcomeToMyHouse;
//测试mailable发送邮件
Route::get('mail/send', function () {
    $data = (Object)[
        'title' =>  '欢迎来到我的地带',
        'name'  =>  'Tony qu',
        'to'    =>  'qutaotao@qq.com'
    ];
    Mail::to($data->to)->send(new WelcomeToMyHouse($data));
});

测试结果

测试结果

相关文章

  • Laravel5.3+Mailable发送邮件

    5.3版本新添加了mailable,在原有发送邮件方法的基础上增加了更强大的方式,也更方便的运用使用 artisa...

  • spring boot 邮件发送基础详解(4种邮件超级详细)

    本文将介绍spring boot邮件发送将介绍以下几个方面: 邮件使用场景 邮件发送原理 邮件发送流程 邮件发送步...

  • SKPSMTPMessage

    SKPSMTPMessage 可以自己实现邮件发送,采用系统的邮件发送会弹出邮件发送框,如果要求静默发送邮件可参照...

  • SpringBoot 发送邮件

    # 依赖 # 配置 # 发送简单文本邮件 # 发送html邮件 # 使用邮件模板发送邮件 添加依赖 配置 新建ht...

  • 2018-10-11

    文本邮件的发送 1.邮件发送流程 ​ 邮件的发送是主动行为:主要通过 MUA/邮件客户端软件,将邮件内容发送给对应...

  • python自动发送邮件

    python自动发送邮件 在说python发送邮件之前,需要了解一下简单的邮件发送知识,邮件发送一般通过SMTP协...

  • python -- Email , send(smtp), re

    python Email功能: 发送普通文本邮件 发送带有html格式的邮件 发送带有附件的邮件 发送插入图片到正...

  • 2018-07-02

    发送邮件 //发送邮件 @ResponseBody @RequestMapping("email") public...

  • Golang使用SMTP发送邮件

    使用SMTP发送邮件 发送邮件测试 邮箱如下

  • python学习(21)smtp发送邮件

    本文介绍python发送邮件模块smtplib以及相关MIME模块。smtplib用于生成邮件发送的代理,发送邮件...

网友评论

    本文标题:Laravel5.3+Mailable发送邮件

    本文链接:https://www.haomeiwen.com/subject/wwkwettx.html