diff --git a/roles/mail/defaults/main.yml b/roles/mail/defaults/main.yml
index fb6cc48d5b073d5c7373993b8f8a9738ed33abd9..572c775f31bf63b47625079b58d55e634570fc9b 100644
--- a/roles/mail/defaults/main.yml
+++ b/roles/mail/defaults/main.yml
@@ -34,3 +34,5 @@ static_mail_domains: []
 
 # Final destination address for abuse@ postmaster@ and similar.
 abuse_destination_addr: "root@{{ domain }}"
+
+postfix_message_size_limit: 20971520
diff --git a/roles/mail/templates/main.cf.base.j2 b/roles/mail/templates/main.cf.base.j2
index 61c0f651d90730f458c24204d862f74463da2f47..1cbd8495a3af5efb488a9ac3045fc3727327b1c2 100644
--- a/roles/mail/templates/main.cf.base.j2
+++ b/roles/mail/templates/main.cf.base.j2
@@ -43,3 +43,5 @@ default_database_type = cdb
 indexed = ${default_database_type}:${config_directory}/
 #pcre = pcre:${config_directory}/
 #ldap = proxy:ldap:/etc/postfix/ldap/
+
+message_size_limit = {{ postfix_message_size_limit }}
diff --git a/roles/mail/templates/postfix-out/main.cf b/roles/mail/templates/postfix-out/main.cf
index ce84039027db76b5f7ac97566844bbf7066e2801..716722354cfd2e1e17f44e1d6bfe4c4421b55956 100644
--- a/roles/mail/templates/postfix-out/main.cf
+++ b/roles/mail/templates/postfix-out/main.cf
@@ -48,9 +48,6 @@ transport_maps = ${ldap}all-recipients ${indexed}transport ${indexed}mailman_tra
 # resolve aliases
 virtual_alias_maps = ${indexed}virtual ${ldap}aliases
 
-# Message size limit.
-message_size_limit = 20971520
-
 # Concurrency tuning for "relay" and "smtp" transport.
 relay_destination_concurrency_limit = 20
 default_destination_concurrency_limit = 20