退信'552 5.3.4 Message size exceeds fixed limit'或'Message too large',怎么知道每个服务商的附件大小限制?Base64编码会让附件变大吗?
56
退信"552 5.3.4 Message size exceeds fixed limit"或"Message too large",怎么知道每个服务商的附件大小限制?Base64编码会让附件变大吗?
▼
原因
552=永久失败·邮件系统·大小超标。你发送的邮件(正文+附件合并后)超过了收件方允许的最大尺寸。核心概念:MIME 附件在传输前经过 Base64 编码——编码后体积膨胀约 37%(原文每 3 字节编码为 4 字节)。一个号称"25MB 限制"的邮箱实际只能接收约 18MB 的原始文件。
各服务商限制
• Gmail:25MB(含附件和正文,收+发相同限制)
• Outlook.com / Hotmail:25MB(收+发)
• 常见免费邮箱:普通附件 50MB / 超大附件 2GB(但需中转站方式)
• 网易 163 免费邮:50MB
• 网易企业邮箱:100MB(可调)
• 自建 Postfix:默认 10MB(message_size_limit = 10240000)
• 自建 Exchange Online:35MB(不可调)
注:限制通常指编码后体积(SMTP DATA阶段的大小)。
操作
1. 压缩附件减小体积(.zip/.7z 压缩率可达 50-80%)。
2. 用云盘/超大附件链接代替真实附件(Google Drive/Dropbox/腾讯微云等)。
3. 拆分大附件分成多封邮件发送。
4. 自建 Postfix 调大限制:postconf -e "message_size_limit = 52428800"(设 50MB),然后 postfix reload。
5. 提醒:你调大了自己服务器限制,但收件方服务器的限制你改不了——超大邮件到对方照样被拒。
参考:RFC 2045 §6.8(Base64 编码)· Gmail Help · Postfix 文档
