Laravel --- Laravel 5.3 发送邮件配置
版本:laravel 5.3
发送邮箱:QQ邮箱
根据官网以及别人的教程配置邮件发送,并且对配置过程中遇到的坑进行填补,做一总结,留待参考。
一.开启stmp
进入QQ邮箱,设置-服务,开启smtp。
开启后会出现一个授权码,记下来,要用
打开【如何使用Foxmail等软件收发邮件】,可以找到到smtp服务器地址和端口号,记下来,要用
二.在Laravel中配置邮件发送
配置涉及到两个文件:config/mail.php 和 .env,因为mail.php读取的是.env的配置,所以我把mail.php中的环境变量默认值都去掉(除了mail_from_name),然后只在.env中配置
main.php
return [
'driver' => env('MAIL_DRIVER'),
'host' => env('MAIL_HOST'),
'port' => env('MAIL_PORT'), 'from' => [
'address' => env('MAIL_FROM_ADDRESS'),
'name' => env('MAIL_FROM_NAME','火星大人'), // 经测试,.env中的中文会被忽略,所以此变量不在.env中设置
], 'encryption' => env('MAIL_ENCRYPTION'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
];
.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com // STMP服务器地址
MAIL_PORT=465 // 端口
MAIL_USERNAME=88888888@qq.com // 登陆邮箱的账号
MAIL_PASSWORD=xxxxxxxx // 授权码
MAIL_FROM_ADDRESS=88888888@qq.com // 发件人邮箱
MAIL_ENCRYPTION=ssl
三.代码文件
创建路由:
Route::get('mail/send','MailController@send');
创建控制器:php artisan make:controller MailController
MailController.php
<?php namespace App\Http\Controllers;
use Illuminate\Support\Facades\Mail; class MailController extends Controller
{
public function send()
{
$name = '王宝花';
// emails.test 指向\resources\views\emails\test.blade.php
Mail::send('emails.test',['name'=>$name],function($message){
$to = '11111111@qq.com';
$message->to($to)->subject('邮件测试');
});
}
}
创建视图:\views\emails\test.blade.php
{{$name}}你好,这是一封测试文件。
发送:http://localhost/mail/send
四.验证结果
"火星大人"就是 MAIL_FROM_NAME 的值
五.配置过程中遇到的两个错误
1.报错:Missing argument 1 for Illuminate\Support\Manager::createDriver(), called in G:\WWW\blog\vendor\laravel\framework\src\Illuminate\Support\Manager.php on line 87 and defined
原因:经测试发现是.env文件中的邮件配置项存在xxx=null的问题,把null改成具体值,或者去掉xxx,把xxx放到mail.php中赋值,可解决
2.报错:Failed to authenticate on SMTP server with username "11111111@qq.com" using 1 possible authenticators
原因:邮箱账号授权码之类的信息不正确,修改之。我原先以为mail_password是登陆密码,其实是授权码
3.控制器中,mail::send()没有返回值。网上的一些信息是通过返回值来判断是否发送成功,这个不对。那么如何判断是否发送成功呢?未解,可能没报错就是成功吧。
4.配置项或者环境变量修改后不生效问题:
先:php artisan config:clear
再:php artisan config:cache
ok。
所以每次修改main.php 或者 .env 的值后,都要这般操作一下
Laravel --- Laravel 5.3 发送邮件配置的更多相关文章
- 用composer安装 Laravel | Laravel需要的环境配置
一:安装 参考网站 http://v4.golaravel.com/docs/4.2/installation 1.先确保安装好了PHP,和服务器环境 2.然后下载composer可执行文件到当前目录 ...
- Laravel安装及环境的配置(XAMPP集成开发环境下)
Laravel 使用 Composer 来管理代码依赖.所以,在使用 Laravel 之前,请先确认你的电脑上安装了 Composer. 操作系统为win7: 集成开发环境XAMPP: 第一步:安装C ...
- laravel 守护进程Supervisor的配置
安装Supervisor Supervisor是Linux系统中常用的进程守护程序.如果队列进程queue:work意外关闭,它会自动重启启动队列进程.在Ubuntu安装Supervisor 非常简单 ...
- laravel框架的安装与配置
正常安装: 1.composer.(https://getcomposer.org/Composer-Setup.exe) 安装之前要确保目录:wamp\bin\php\php5.4.3下的php.i ...
- Laravel for Windows 开发环境配置
本文为CSDN Choris 原创,转载请事先征得作者同意,以示尊重! 原文:http://blog.csdn.net/choris/article/details/50215835 Laravel配 ...
- [Laravel] Laravel的基本数据库操作部分
[laravel] laravel的数据库配置 找到程序目录结构下.env文件 配置基本的数据库连接信息 DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=blog ...
- laravel/laravel和laravel/framework有何区别?
在安装laravel的时候,我们一般是download github上的laravel/laravel,随后执行composer install,在这个过程中,你会发现composer其中的一项工作是 ...
- [Laravel] Laravel的基本使用
[Laravel] Laravel的基本HTTP路由 使用Laravel的基本路由,实现get请求响应,找到文件app/Http/routes.php 调用Route的静态方法get(),实现get响 ...
- jenkins自动发送邮件配置
一. 前提:确保插件存在 在一切开始之前,必须得确保任务配置里有两个插件:E-mail Notification(邮件通知) 和 Editable Email Notification(可编辑的邮件通 ...
随机推荐
- 自定义adapter 的getView方法被重复执行了n次的解决方法
1. getView执行的次数和你的getCount没有直接的关系 ,getCount和你listView里面的条目数量(行数量)有关系 ,getView方法执行次数取决于你屏幕上显示几个条目,比 ...
- Array类型判断
http://www.cnblogs.com/YaoAzhen/archive/2010/01/27/1657696.html
- QT之QSignalMapper(可以理解为转发器,多个按钮绑定到一个Edit上,且能分辨。每个单独连接的话,反而麻烦)
QT之QSignalMapper QT之QSignalMapper 简述 效果图 上代码 相关知识点文章 结尾 简述 QSignalMapper我们可以理解为转发器,此话怎讲呢?比如,按钮点击的响应槽 ...
- RTB业务知识2-Open-RTB全景
一个.前言 openrtb这是一套开源的竞价广告系统,来自IAB贡献,井. 有许多值太借鉴,提供sdk api接口文档介绍,整理了相关的资料.主要包含其生态图体系.业务流程和基本的对象模型和数据模型. ...
- 简单工厂 vs 工厂方法
设计模式,厂三姐妹是很重要的.现在,让我们来谈谈他们的故事. 简单工厂模式: client的实现须要依靠的是父类和工厂这个类,所以就把子类封装在父类里面,client直接调用父类和工厂类就能够了.可是 ...
- qt翻译--QWaitCondition
QWaitCondition Class Reference[QtCore module] 该类提供一个情况变量来同步线程. #include <QWaitCondition> 注意:该类 ...
- matlab进行离散点的曲线拟合
原文:matlab进行离散点的曲线拟合 ployfit是matlab中基于最小二乘法的多项式拟合函数.最基础的用法如下: C=polyfit(X,Y,N) 其中: X : 需要拟合的点的横坐标 Y:需 ...
- Altera公司高速PCB布线指南
来至Altera公司的高速PCB布线指南,该文档言简意赅,深入浅出,对于日常高速PCB布局布线中经常碰到的一些问题进行了解析.例如:板材的选择,介电常数及损耗因子对高速高频线路的影响,传输线,阻抗控制 ...
- v-charts显示标题
使用v-charts的时候,如果要显示标题需要以下操作 1. 加入:title props <ve-pie :title="chartTitle" :data="c ...
- Redis 一些高级用法
延迟消息队列 利用 expire keyspace notification Redis 过期时,会向特定的消息队列发送消息,监听该消息队列 在 redis.conf 修改 notify-keyspa ...