Setting Attachment Limits and Mailbox Quotas Without Guesswork
Mail systems are unusually inconsistent about units. Postfix wants message_size_limit as a raw byte count, Dovecot quota rules take suffixed values, an Exchange policy is written in round MB, and the quota report your monitoring job produces is a column of kibibytes per mailbox. Before you can compare any of them you have to get everything onto one scale — and for mail, that scale is almost always mebibytes, because every quota engine in the chain counts in powers of two.
MiB = KiB ÷ 1024. A quota line reading 25 600 KiB is 25 600 ÷ 1024 = 25 MiB.Postfix Counts in Plain Bytes
message_size_limit is 10 240 000 bytes — which is 10 000 KiB, or 9.765625 MiB. It looks like "10 MB" at a glance and is neither 10 MB nor 10 MiB, which is exactly why people mis-set it.Base64 Inflates Every Attachment
Quota Reports Arrive in KiB
The Bounce Nobody Expects
Working a Mail Limit Out in Mebibytes
Enter the KiB Figure From the Report
Paste the kibibyte value straight out of a quota dump or a mail-store listing. Column spacing is ignored and a comma is accepted as a decimal point, so the number does not need cleaning up first.
Read the Value in MiB
The MiB field fills in as you type, so you can see immediately whether a mailbox sits at 512 MiB or 2 048 MiB against the policy you are about to write.
Copy the Number Into the Policy
Each field has its own copy button that returns the bare digits, ready to drop into a config value, a change ticket or the capacity column of a migration plan.
Flip It to Turn a Policy Into KiB
The swap button reverses the direction to MiB → KiB, which is what you need when a policy is written in mebibytes but the tool that enforces it, or the report that audits it, works in kibibytes.
Because both unit menus are searchable and cover every storage unit, the same value can also be taken down to plain bytes — the form Postfix expects — without opening a second calculator.
Common Mail Limits Side by Side
These are the ceilings that show up in most mail estates, expressed first as the kibibyte figure a report would show and then in mebibytes. Note how the Postfix default lands just short of a round number: it is the one value in the list that was defined in decimal bytes rather than in binary units.
| Limit | KiB | MiB |
|---|---|---|
| Postfix stock message_size_limit (10 240 000 bytes) | 10 000 | 9.765625 |
| Conservative relay ceiling | 10 240 | 10 |
| Typical corporate attachment policy | 20 480 | 20 |
| Consumer webmail send cap, matched at 25 MiB | 25 600 | 25 |
| Large-message ceiling on a hosted tenant | 153 600 | 150 |
| Per-mailbox quota of 1 GiB | 1 048 576 | 1 024 |
Details That Matter on a Mail Server
Takes Report Columns As They Come
Quota dumps are rarely tidy. Spaces inside the number are dropped and either decimal separator is accepted, so a pasted cell converts on the first attempt.
Reach Bytes for postconf in One Step
The searchable menus on both sides mean a mebibyte policy can be restated as the raw byte count Postfix stores, without a second tool and without a transcription error.
Audit and Enforcement Directions
Auditing goes KiB → MiB; writing a rule goes the other way. The swap button covers both, so one page serves the report you read and the config you edit.
Clean Values for Change Tickets
Copying a field gives the number alone — no unit, no grouping — which is what a config file, a change record or a mail-flow rule wants pasted into it.
Questions Mail Admins Ask
Postfix wants message_size_limit in bytes — what value gives a 25 MiB ceiling?
26 214 400. That is 25 MiB expressed as 25 600 KiB and then as bytes. Postfix accepts no suffix on this parameter, so the whole integer goes in literally, and a single missing zero is the difference between a 25 MiB and a 2.5 MiB ceiling — worth checking with postconf message_size_limit after the reload.
Why did a 24 MB attachment bounce against a 25 MB limit?
Because the limit applies to the assembled message, not to the file the user picked. Base64 encoding turns every three bytes into four, so a 24 MiB attachment becomes about 32 MiB of message body, plus headers, boundaries and any signature. It exceeds the ceiling before it has left the sending server.
How much headroom should a limit leave for MIME encoding?
Roughly a third on top of the largest attachment you want to allow, and a little more for headers. If the promise to users is "you can send a 20 MiB file", the message limit needs to be near 27 MiB, not 20. Publishing the attachment figure rather than the message figure saves a great deal of helpdesk traffic.
Dovecot quota rules are written as 1G — is that the same as 1024 MiB?
Yes. The suffixes in a quota rule are binary, so 1G is one gibibyte: 1 048 576 KiB, or 1 024 MiB. This matters when you are reconciling with a spreadsheet where somebody wrote "1 GB" meaning 1 000 000 KB — the two figures differ by about 7%, which is enough to make a nearly-full mailbox look compliant.
Recipients keep rejecting mail my own server accepted — whose limit wins?
Every hop enforces its own ceiling, and the smallest one in the path decides. Your server can happily accept a 100 MiB message and still collect a rejection from the receiving side. Setting your outbound limit close to what your common correspondents accept turns a delayed remote bounce into an immediate, understandable error for the sender.
No comments yet. Be the first to comment!