laravel邮件发送

测试使用邮箱16三、QQ邮箱php

QQ邮箱须要注意:须要开启POP3/SMTP服务。html

开启成功后生成秘钥,秘钥在配置中用到至关于密码,生成秘钥方法laravel

若是须要记录发邮箱记录时,你须要进行此配置api

IMAP和POP有什么区别?
POP容许电子邮件客户端下载服务器上的邮件,可是您在电子邮件客户端的操做(如:移动邮件、标记已读等),这是不会反馈到服务器上的,好比:您经过电子邮件客户端收取了QQ邮箱中的3封邮件并移动到了其余文件夹,这些移动动做是不会反馈到服务器上的,也就是说,QQ邮箱服务器上的这些邮件是没有同时被移动的 。可是IMAP就不一样了,电子邮件客户端的操做都会反馈到服务器上,您对邮件进行的操做(如:移动邮件、标记已读等),服务器上的邮件也会作相应的动做。也就是说,IMAP是“双向”的。
同时,IMAP能够只下载邮件的主题,只有当您真正须要的时候,才会下载邮件的全部内容。

Laravel进行配置

config/mail.php数组

.env安全

mail.php与.env中服务器

'from' => [闭包

  'address' => env('MAIL_FROM_ADDRESS', '与.env中MAIL_USERNAME保持一致'),函数


],测试

MAIL_USERNAME=address

  • driver用于配置默认的邮件发送驱动,Laravel支持多种邮件驱动方式,包括smtp、Mailgun、Maildrill、Amazon SES、mail和sendmail,Mailgun和Amazon SES都是收费的Maildrill目前不支持中国区用户,这三个都是第三方邮件服务。mail驱动使用PHP提供的mail函数发送,sendmail驱动经过Sendmail/Postfix(Linux)提供的命令发送邮件,smtp驱动经过支持ESMTP的SMTP发送邮件。
    就目前情况来看,使用smtp是最明智的选择,mail不安全,sendmail须要安装配置Sendmail/Postfix,其余要么付费要么不能用。
  • host是邮箱所在主机,好比咱们使用163邮箱,对应值是smtp.163.com,使用QQ邮箱的话,对应值是smtp.qq.com
  • port用于配置邮箱发送服务端口号,好比通常默认值是25,但若是设置SMTP使用SSL加密,该值为465。
  • from配置项包含address和name,前者表示发送邮箱,后者表示发送邮件使用的用户名。
  • encryption表示加密类型,能够设置为null表示不使用任何加密,也能够设置为tls或ssl。
  • username表示邮箱帐号,好比*****@163.com
  • password表示上述邮箱登陆对应登陆密码。注意QQ邮箱的话应该开启POP3|SMTP服务时给的密钥。
  • sendmail是在设置driver为sendmail时使用,用于指定sendmail命令路径。
编写代码进行邮箱测试
生成控制器:
  php artisan make:controller TextController 
 
路由:
   Route::get('text/send','TextController@send');
 
测试代码以下:
<?php
namespace App\Http\Controllers;

use Elasticsearch\ClientBuilder;
use App\Jobs\Queue;
use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Facades\Mail;

class TextController extends Controller
{
    public function send(){
        $name = '***';
        // Mail::send()的返回值为空,因此能够其余方法进行判断
        Mail::send('text',['name'=>$name],function($message){
            $to = '****@qq.com';
            $message ->to($to)->subject('测试邮箱');
        });
        // 返回的一个错误数组,利用此能够判断是否发送成功
        dd(Mail::failures());
    }
}
Mail::send();须要传三个参数,第一个为引用的模板,第二个为给模板传递的变量,第三个为一个闭包,参数绑定Mail类的一个实例。

Mailer::send文档
Mailer:: failures文档

在resresources/views/下建立一个text.blade.php

 {{$name}}你好,这是一封测试文件。 

最后url地址栏访问测试便可

 

相关文章
相关标签/搜索