laravel邮件发送配置

359 阅读1分钟

#1 通用的邮件发送配置

MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=25
MAIL_USERNAME=xxxx@163.com
MAIL_PASSWORD=xaofhjiajop
MAIL_ENCRYPTION=tls

MAIL_FROM_ADDRESS=xxxx@163.com
MAIL_FROM_NAME="XXX系统"

#2 微软exchange邮件发送配置

微软`exchange`的配置其实就是将MAIL_USERNAME、MAIL_PASSWORD和MAIL_ENCRYPTION设置为null。有一些内网邮箱服务器发送给外网邮箱会报错` expected response code 354 but got code 503 rcpt command`
MAIL_DRIVER=smtp
MAIL_HOST=mail2.gzmtr.com
MAIL_PORT=25
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

MAIL_FROM_ADDRESS="854580@gzmtr.com"
MAIL_FROM_NAME="XX系统"

#3 编写代码测试配置是否正确

  • 1 纯文本邮箱测试
Mail::raw('你好,这是一封测试邮箱!', function ($message) {
    $to = 'xxxxx@qq.com';
    $message ->to($to)->subject('纯文本信息邮件测试');
});
dd(Mail::failures());
  • 2 通过建立邮箱内容视图\resources\views\emails\test.blade.php测试
$name = '你好,这是一封测试邮箱!';
// Mail::send()的返回值为空,所以可以其他方法进行判断
Mail::send('emails.test',['name'=>$name],function($message){
    $to = 'xxxx@qq.com'; $message ->to($to)->subject('邮件测试');
});
// 返回的一个错误数组,利用此可以判断是否发送成功
dd(Mail::failures());