laravel6 邮件发送注意事项

.env邮件部分的配置:

MAIL_DRIVER=sendmail
MAIL_HOST=xx.xx.xx
MAIL_PORT=465
[email protected]
MAIL_PASSWORD=xxxx
MAIL_ENCRYPTION=ssl
[email protected]
MAIL_FROM_NAME=xxx

发送邮件的部分代码:

$to_email = $data['email'];
$filepath = $data['file_path'];
$file_name = $data['file_name'];
$file_hz = $data['file_hz'];
\Mail::send('mail.invoice', [], function(Message $message) use($to_email, $filepath, $file_name, $file_hz) {
      $message->to($to_email)->subject($file_name);
      if (file_exists($filepath)) {
            $message->attach($filepath, ['as' => '=?UTF-8?B?'.base64_encode($file_name).'?=.'.$file_hz]);// 防止中文乱码
      }
});

本地发送成功,线上服务器发送失败,无报错信息

需要注意:

阿里云25端口不开放,如果需要25端口,需要工单申请

telnet邮件服务器地址,测试下端口是否通畅,例:telnet  smtp.qq.com 465

查看防火墙状态systemctl status firewalld,查看防火墙是否开启,所需端口是否打开

.env中的MAIL_DRIVER=sendmail修改为MAIL_DRIVER=stmp试试

你可能感兴趣的:(php,laravel,服务器,laravel)