<source>set by the Hub
A message larger than the specified size is not accepted from this source — the refusal comes at the submission stage, before the message is queued.
The default is no limit. A source without the line will accept a message of any size. The ceiling is set deliberately, and necessarily in the general <source 0/0> block too: narrow blocks override only what they name, and everything else stays with the vendor’s “as much as you like.”
A refusal at submission is better than a refusal at delivery. A message accepted into the queue and rejected by the recipient for its size has already used spool space and delivery attempts and ended up in the bounce statistics. A refusal at submission returns the problem to where it can be fixed — to the sender.
The namesake from another block does not count the same thing. max-message-size inside <transmissions-api> limits the size of an HTTP submission request and has its own default — one hundred megabytes. It has nothing to do with mail submission.
Count from the receiver, not from the sender. Major mail services stop at around 25 megabytes per whole message; anything larger the node will accept, carry and get a refusal. Setting your ceiling above theirs means paying with spool and attempts for messages that will be refused anyway.
Allow a third for encoding. The limit counts the message as it arrived over SMTP. To accept a 15-megabyte attachment, you need a ceiling of about 20.
Write it in the general block. A ceiling only for platforms leaves everything else open, and that is exactly where the unexpected comes from — for example, a message assembled by a script with a database dump attached.
# the general block — a ceiling for everyone not named separately <source 0/0> max-message-size 20M</source> # a platform that sends catalogs gets its own <source 10.0.0.5> max-message-size 40M </source>
what people get wrong and how it ends4 mistakes▶
§ 3.3.7.37
our experience
§ 3.3.7.37
§ 3.3.20.5
2 relations
printf 'EHLO test\r\nQUIT\r\n' | nc -w5 node 2525
3 articles
◇The activation key is a prerequisite for installation, not a step after itWithout an activation key from SparkPost support the engine neither installs nor runs, and the license tier sets the outbound connection ceiling: on Standard everything above 200 is ignored.◇Cloud restrictionsClouds restrict outbound mail on port 25 until you ask them to lift the limit, and mailbox providers treat their address ranges with suspicion.◇How to turn a sending plan into hardwareTwo constants for sizing any node: about 2 KB of memory per queued recipient and spool space proportional to the total size of the messages.