内容简介:Laravel/Lumen 5.4 发送邮件
这里使用163邮箱,个人邮箱需要开启smtp服务
当勾选设置POP3/SMTP/IMAP时提示需要设置授权码,需要跟登录密码区分开。
修改配置文件
编辑 .env
文件
MAIL_DRIVER=smtp MAIL_HOST=smtp.163.com MAIL_PORT=465 MAIL_USERNAME=test@163.com MAIL_PASSWORD=****** //这里填写授权码 MAIL_FROM_ADDRESS=test@163.com MAIL_FROM_NAME=test MAIL_ENCRYPTION=ssl
如果是 Lumen 需要装mail模块
修改 composer.json
文件中 require
部分配置如下:
"require": { "php": ">=5.6.9", "laravel/lumen-framework": "5.4.*", "vlucas/phpdotenv": "~2.2", "guzzlehttp/guzzle": "^6.2", "predis/predis": "^1.1", "illuminate/redis": "^5.4", "illuminate/mail":"5.4.*" }
并运行 composer install
来安装 mail
创建发送邮件命令
如果是 laravel
直接执行命令,如果是 lumen
自己创建目录和文件
$ php artisan make:command sendMailCommand Console command created successfully.
创建后生成此文件 app/Console/Commands/sendMailCommand.php
<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\Mail; class sendMailCommandextends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'mail:sendMailCommand'; /** * The console command description. * * @var string */ protected $description = '发送邮件命令'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { $content = '这是一封来自 Laravel 的测试邮件.'; $toMail = 'cenhuqing@qq.com'; Mail::raw($content, function ($message)use($toMail){ $message->subject('[ 测试 ] 测试邮件SendMail - ' .date('Y-m-d H:i:s')); $message->to($toMail); }); } }
将命令加入到 app/Console/Kernel.php
protected $commands = [ sendMailCommand::class ];
执行命令测试
$ php artisan |grep send* mail:sendMailCommand 发送邮件命令 $ php artisan mail:sendMailCommand [Swift_TransportException] Failed to authenticate on SMTP server with username "test@163.com" using 2 possible authenticators
注意: 上述执行命令报错,由于验证不通过导致此问题。跟代码没有关系。所以要检查下配置。我在这里找了很久,仍然没有发现错误,最后重置了下授权码后正常。不知道是啥问题。
问题: 我线上的版本是lumen,每次修改.env配置文件后不会生效,而是使用之前的配置。需要重启后才会生效新配置,不知道是什么原因,也没有配置缓存。如果哪位大神指导请告知下,我的邮箱cenhuqing@gmail.com。 谢谢!
以上所述就是小编给大家介绍的《Laravel/Lumen 5.4 发送邮件》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。