基于环境
laravel版本:7.0+
基于 Laravel Framework 5.5.45,使用自带的SMTP协议提供驱动。
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
,其他要么付费要么不能用。
邮箱配置
- 进入
config/mail.php
文件修改对应的参数配置 - 或进入
.env
文件修改MAIL_
开头的几个参数值
MAIL_DRIVER=smtp
MAIL_HOST= smtp.qiye.163.com
MAIL_PORT= 端口号 // 25
MAIL_USERNAME= 邮箱地址 //xxx.com
MAIL_PASSWORD= 邮箱地址对应的授权密码(不是登录密码)
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=邮箱地址,这项需要和MAIL_USERNAME一模一样
MAIL_FROM_NAME=发件人名称
ps:MAIL_ENCRYPTION可以根据需要修改,但是如果不使用ssl,也需要修改MAIL_PORT为25端口
生成可邮寄类
输入指令php artisan make:mail OrderShipped
会在app/Mail
下生成一个邮寄类OrderShipped
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\Seria