You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8配置Gmail SMTP发自动邮件未收到及PDF附件添加问题

Gmail收不到邮件的排查方案
  • 优先检查Gmail账号权限配置:谷歌已停止支持「低安全性应用访问」,必须先开启邮箱账号的两步验证,之后生成16位应用密码,替换.env配置中MAIL_PASSWORD字段的值,不可直接使用账号原登录密码。
  • 清理配置缓存:修改.env配置后,需执行php artisan config:clear命令清理配置缓存,否则项目会读取旧的缓存配置导致配置不生效。
  • 检查邮箱分类:测试邮件可能被 Gmail 自动归类到垃圾邮件、推广/促销标签页,可优先到对应目录查找。
  • 排查发信日志:打开storage/logs/laravel.log文件查看是否存在发信相关报错;也可临时将.env中MAIL_MAILER值改为log,访问发信路由后查看日志中是否生成了完整的邮件内容,确认代码逻辑无问题。
  • 尝试替换端口加密方案:可将MAIL_PORT改为465,MAIL_ENCRYPTION改为ssl,重新测试发信。
PDF附件添加位置

attachData方法需链式添加到TestMail类的build方法中,有两种常用实现方式:

  1. 直接在Mailable类中生成PDF
public function build()
{
    // 此处为你生成PDF的业务逻辑,按实际需求替换
    $pdf = PDF::loadView('pdf.business_template', ['data' => $this->details]);
    return $this->subject('Test Mail from Veronica')
                ->view('mail')
                ->attachData($pdf->output(), 'document.pdf', [
                    'mime' => 'application/pdf',
                ]);
}
  1. 控制器生成PDF后传入Mailable
    如果PDF生成逻辑在控制器中完成,可通过构造方法传入TestMail:
  • 控制器修改:
public function sendEmail()
{
    $details = [
        'title' => 'Mail from veronica',
        'body' => 'This is for testing'
    ];
    // 生成业务PDF,$yourData替换为实际业务数据
    $pdf = PDF::loadView('pdf.business_template', ['business_data' => $yourData]);
    Mail::to("receivermail@gmail.com")->send(new TestMail($details, $pdf));
    return "Email sent";
}
  • TestMail类修改:
class TestMail extends Mailable
{
    use Queueable, SerializesModels;

    public $details;
    public $pdf; // 新增PDF属性

    public function __construct($details, $pdf)
    {
        $this->details = $details;
        $this->pdf = $pdf;
    }

    public function build()
    {
        return $this->subject('Test Mail from Veronica')
                    ->view('mail')
                    // 直接使用传入的PDF实例
                    ->attachData($this->pdf->output(), '业务数据文档.pdf', [
                        'mime' => 'application/pdf',
                    ]);
    }
}

内容的提问来源于stack exchange,提问作者Veronica

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:36:04