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(可编辑的邮件通 ...
随机推荐
- Android studio中的6大布局
1.相对布局代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns: ...
- spring应用实例
新建一个登陆页面:loginActionSupport.jsp,代码例如以下 <%@page contentType="text/html;charset=GBK" is ...
- WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形
原文:WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形 说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘> ...
- Cocos2d-x layout (两)
相对于对照布局 Size widgetSize = Director::getInstance()->getWinSize(); Text* alert = Text::create(" ...
- WPF 3D动态加载模型文件
原文:WPF 3D动态加载模型文件 这篇文章需要读者对WPF 3D有一个基本了解,至少看过官方的MSDN例子. 一般来说关于WPF使用3D的例子,都是下面的流程: 1.美工用3DMAX做好模型,生成一 ...
- crossplaform---Nodejs in Visual Studio Code 04.Swig模版
1.开始 设置Node_Global:npm config set prefix "C:\Program Files\nodejs" Express组件:npm install e ...
- Matlab Tricks(二十)—— Hilbert matrix 的创建
Hij=1i+j−1 N = 5; A = ones(N, 1)*(1:N); B = A'; H = 1./(M+N-1);
- 浅谈 Swift 中的 Optionals
input[type="date"].form-control,.input-group-sm>input[type="date"].input-grou ...
- 如何清除XP的网络共享密码
一.利用NET命令 我们知道在Windows XP中提供了“net user”命令,该命令可以添加.修改用户账户信息,其语法格式为: net user [UserName [Password | *] ...
- C# 特性的使用
using ClassLibrary;using System;using System.Collections.Generic;using System.Linq;using System.Refl ...