laravel 使用QQ邮箱发送邮件
开启服务后需要生成验证码,等会有用
'from' => [ 'address' => '527844046@qq.com', 'name' => 'dylan', ],
这里是设置走哪种协议的:smtp 免费 'driver' => env('MAIL_DRIVER', 'smtp'),
添加邮件视图views/email/test.blade.php:
这是一封测试邮件
控制器中:
public function emailtxt() { \Mail::send('email.test',['name'=>'textname'],function($message){ $to = '2624466181@qq.com'; $message ->to($to)->subject('测试邮件'); }); } }Mail::send 需要传递三个参数
- 第一个是邮件视图
- 第二个是传入视图的数据
- 第三个是一个闭包,该闭包中定义了收件人、抄送人(如果有的话)、邮件主题、附件等信息。
MAIL_MAILER=smtp MAIL_HOST=smtp.qq.com MAIL_PORT=25 MAIL_USERNAME=1157818690@qq.com MAIL_PASSWORD=ytxmrkdrixlnihjj MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=1157818690@qq.com MAIL_FROM_NAME="${APP_NAME}"路由
Route::get('emailtxt', 'Text\EmailTextController@emailtxt');
登陆邮箱-设置-账户
将qq邮箱的smtp服务打开:
ytxmrkdrixlnihjj
首先看一下.env配置
MAIL_DRIVER=smtp MAIL_HOST=smtp.qq.com MAIL_PORT=465 MAIL_USERNAME=1as1230@qq.com MAIL_PASSWORD=ytxmrkdrixlnihjj MAIL_ENCRYPTION=ssl MAIL_FROM_ADDRESS=1as1230@qq.com MAIL_FROM_NAME=willem
如果你和我的配置是一样的,依然报错,请清除config缓存。
php artisan config:clear
Connection could not be established with host smtp.qq.com :no valid certs found cafile stream: `/usr/local/openssl/cert.pem’connection could not be established with host smtp.exmail.qq.com
使用 nslookup 查看域名地址
[root@bogon laravel5]# vi /etc/hosts