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

Laravel 10使用AWS SES API发邮件遇SSL证书错误求助

解决Laravel使用AWS SES API发送邮件时的cURL错误60问题
  • 问题根源:本地PHP环境缺少可信的SSL根证书,导致AWS SDK无法验证SES API的SSL证书(SMTP方式成功是因为其证书验证逻辑不同)

  • 解决方案(按优先级排序):

    1. 配置PHP信任SSL根证书(生产环境推荐)

      • 下载Mozilla维护的根证书集合,保存为cacert.pem文件
      • 打开PHP的php.ini配置文件,找到以下两个配置项,设置为证书文件的绝对路径:
        curl.cainfo = "/path/to/your/cacert.pem"
        openssl.cafile = "/path/to/your/cacert.pem"
        
      • 重启你的Web服务器(比如Apache/Nginx)或PHP-FPM服务
      • 验证:执行php -i | grep "curl.cainfo"确认配置生效
    2. 临时关闭AWS SDK的证书验证(仅测试用,禁止生产环境)

      • 打开Laravel项目的config/services.php,找到ses配置段,添加'verify' => false:
        'ses' => [
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
            'verify' => false,
        ],
        
      • 清除配置缓存:php artisan config:clear
    3. 检查证书文件权限(Linux环境)

      • 确保cacert.pem文件的权限允许Web服务器用户(比如www-data、nginx)读取:
        chmod 644 /path/to/your/cacert.pem
        chown www-data:www-data /path/to/your/cacert.pem
        
  • 额外注意:

    • 确认.env文件中的AWS_DEFAULT_REGION和你的SES服务所在区域完全一致(比如us-west-2、ap-southeast-1)
    • 不需要更换AWS SDK包,权限配置已经足够,问题核心是SSL证书验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 14:06:09