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

Laravel邮件附件发送异常:大附件触发SQS报错求助

SQS消息大小限制报错解决方案

错误原因

你遇到的InvalidParameterValue错误,根源是AWS SQS的单条消息大小限制,和你修改的PHP post_max_size、upload_max_filesize配置无关。AWS SQS的标准队列与FIFO队列,单条消息的最大允许大小都是256KB(即262144字节),当你发送的邮件附件相关数据(包含在SQS消息内)超过这个阈值时,就会触发该报错。

可行解决方案

  • 消息分段处理:将超过256KB的消息拆分为多个小于阈值的分段,分别发送至SQS队列。消费者端需要接收所有分段后,通过预设的标识和序号重组完整消息。
  • 结合S3存储大内容:把大附件或完整消息内容上传至AWS S3存储桶,仅将S3对象的URL/存储路径作为消息内容发送到SQS。消费者从SQS获取路径后,再去S3读取对应文件,这是处理大内容最常用的方式。
  • 压缩冗余内容:检查SQS消息中是否包含冗余数据,对JSON、文本等可压缩内容进行Gzip压缩后再发送,能有效缩小消息体积。

原始问题描述

在应用中使用通信服务处理所有消息发送,当发送附件大小超过100KB的邮件时,触发了SQS异常,无法明确报错原因。已修改CLI与Apache的php.ini配置:post_max_size = 20M、upload_max_filesize = 20M。

异常详情

Mail-Exception: ["[object] (Aws\Sqs\Exception\SqsException(code: 0): Error executing "SendMessage" on "https://sqs.ap-south-1.amazonaws.com/**/dev-"; AWS HTTP error: Client error: POST https://sqs.ap-south-1.amazonaws.com/******/dev-**** resulted in a 400 Bad Request response:
SenderI (truncated...)
InvalidParameterValue (client): One or more parameters are invalid. Reason: Message must be shorter than 262144 bytes.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 08:56:03