【美高梅手机版登录】Laravel 基于 SMTP 驱动实现发送邮件

class EmailController extends Controller
{
    public function send(Request
$request, $id)
    {
        $user = UserRepository::find($id);

PHP 7
Laravel 5.1
OS X El Capitan 10.11.4
简介
Laravel 基于热门的 SwiftMailer 函数库提供了一个简洁的 API。Laravel 为
SMTP、Mailgun、Mandrill、Amazon SES、PHP 的 mail 函数及 sendmail
提供驱动,让你可以快速地从所选择的本地或云端服务开始发送邮件。(摘录
PHPhub 翻译文档)

控制器

查看邮件是否发送成功

        $result = Mail::send(’emails.test’, [‘user’ => $user],
function ($email) use ($user) {
            $email->to(‘2794408425@qq.com’)->subject(‘Hello
World’);
        });

    // 发送邮件主机端口
    ‘port’ => env(‘MAIL_PORT’, 587),

use App\Facades\UserRepository;
use Illuminate\Http\Request;

MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=465
MAIL_USERNAME=(填写 QQ 邮箱账号)
MAIL_PASSWORD=(填写 QQ 邮箱密码)
MAIL_美高梅手机版登录,ENCRYPTION=ssl
路由
/* 邮件管理模块 */
Route::get(’email/send/{id}’, [
    ‘as’   => ‘backend.email.send’,  
    ‘uses’ => ‘EmailController@send’,
]);

邮件配置文件是config/mail.php

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Mail;

    // 邮箱登录账号
    ‘username’ => env(‘MAIL_USERNAME’),

执行代码

namespace App\Http\Controllers\Backend;

    // 邮箱登录密码
美高梅集团4688,    ‘password’ => env(‘MAIL_PASSWORD’),

php artisan make:controller Backend/EmailController –plain
控制器代码如下

<?php

    // 发送邮件主机地址
    ‘host’ => env(‘MAIL_HOST’, ‘smtp.mailgun.org’),

    // false 发送邮件不记录日志,true 记录日志不发送邮件
    ‘pretend’ => false,
];

<html>
<head>
    <title></title>
</head>
<body>
    你好,{{$user->name}},这是一封测试邮件。
</body>
</html>

        if($result){
            echo ‘发送邮件成功’;
        } else {
            echo ‘发送邮件失败’;
        }
    }
}

编写程序

配置

在浏览器访问指定路由,然后去邮箱查看邮件是否发送成功。

新增视图

    // 指定发送邮件的邮箱地址和用户名称
    ‘from’ => [‘address’ => null, ‘name’ => null],

新增控制器

env
本文采用 QQ 邮箱进行测试,首先修改邮箱配置

    // 当驱动为 sendmail 时,指定驱动的命令地址
    ‘sendmail’ => ‘/usr/sbin/sendmail -bs’,

return [
    // 默认发送邮件驱动
    ‘driver’ => env(‘MAIL_DRIVER’, ‘smtp’),

新增视图emails/test.blade.php,代码如下:

    // 指定发送邮件协议
    ‘encryption’ => env(‘MAIL_ENCRYPTION’, ‘tls’),

相关文章