diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql
index 659708c685587c79bed747f1e0e99514d7e27449..91db879d0caa29ab5b1283f74e80f2532eea88dc 100644
--- a/install/sql/incremental/upd_dev_collection.sql
+++ b/install/sql/incremental/upd_dev_collection.sql
@@ -26,3 +26,6 @@ ALTER TABLE `mail_user`
 
 -- doveadm should be enabled for all mailboxes
 UPDATE `mail_user` set `disabledoveadm` = 'n';
+
+-- add disablequota-status for quota-status policy daemon
+ALTER TABLE `mail_user` ADD `disablequota-status` ENUM('n','y') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'n' AFTER `disabledoveadm`;
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 4965358bc65a695b11a7f4719774dfec2c229297..cc266ff2359c9b803a2e936310e61561f64af28d 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1062,6 +1062,7 @@ CREATE TABLE `mail_user` (
   `disablelda` enum('n','y') NOT NULL default 'n',
   `disablelmtp` enum('n','y') NOT NULL default 'n',
   `disabledoveadm` enum('n','y') NOT NULL default 'n',
+  `disablequota-status` enum('n','y') NOT NULL default 'n',
   `last_quota_notification` date NULL default NULL,
   `backup_interval` VARCHAR( 255 ) NOT NULL default 'none',
   `backup_copies` INT NOT NULL DEFAULT '1',
diff --git a/install/tpl/debian6_dovecot2.conf.master b/install/tpl/debian6_dovecot2.conf.master
index 76d168cd7d1fa9121d91a8c6eba2408ed4bf8b89..1f51f23ad3969491bccfa1ce3669ccca3b29b2d0 100644
--- a/install/tpl/debian6_dovecot2.conf.master
+++ b/install/tpl/debian6_dovecot2.conf.master
@@ -85,6 +85,21 @@ protocol lmtp {
 #2.3+     }
 #2.3+ }
 
+service quota-status {
+  executable = quota-status -p postfix
+  inet_listener {
+    # separate multiple addresses with space:
+    address = 127.0.0.1
+    port = 10060
+  }
+  client_limit = 1
+}
+plugin {
+  quota_status_success = DUNNO
+  quota_status_nouser = DUNNO
+  quota_status_overquota = "552 5.2.2 Mailbox is full"
+}
+
 imap_capability=+SEPCIAL-USE XLIST
 namespace inbox {
   inbox = yes
diff --git a/install/tpl/debian_dovecot2.conf.master b/install/tpl/debian_dovecot2.conf.master
index 24bf07393feb8dd38c43039dde6424e83054c210..b71ede75344ba1ae6efd46a9b2417173c1368f24 100644
--- a/install/tpl/debian_dovecot2.conf.master
+++ b/install/tpl/debian_dovecot2.conf.master
@@ -81,3 +81,18 @@ protocol lmtp {
 #2.3+         mode = 0660
 #2.3+     }
 #2.3+ }
+
+service quota-status {
+  executable = quota-status -p postfix
+  inet_listener {
+    # separate multiple addresses with space:
+    address = 127.0.0.1
+    port = 10060
+  }
+  client_limit = 1
+}
+plugin {
+  quota_status_success = DUNNO
+  quota_status_nouser = DUNNO
+  quota_status_overquota = "552 5.2.2 Mailbox is full"
+}
diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master
index b7dbea6300a8cc251c64e2b2a2b4e25748f737b1..4d03dfd005b33670d57cd09fa40622ca143022dd 100644
--- a/install/tpl/debian_postfix.conf.master
+++ b/install/tpl/debian_postfix.conf.master
@@ -15,7 +15,8 @@ broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
 smtpd_restriction_classes = greylisting
 greylisting = check_policy_service inet:127.0.0.1:10023 
-smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}, check_policy_service inet:127.0.0.1:10060
+smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10060
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
diff --git a/install/tpl/fedora_dovecot2.conf.master b/install/tpl/fedora_dovecot2.conf.master
index 56d304a761fecc94d118737db954617622ac2df8..9115404d9ff72e9d93bf0013b6d5b09bf66d3683 100644
--- a/install/tpl/fedora_dovecot2.conf.master
+++ b/install/tpl/fedora_dovecot2.conf.master
@@ -80,6 +80,21 @@ mail_plugins = $mail_plugins quota
 #2.3+     }
 #2.3+ }
 
+service quota-status {
+  executable = quota-status -p postfix
+  inet_listener {
+    # separate multiple addresses with space:
+    address = 127.0.0.1
+    port = 10060
+  }
+  client_limit = 1
+}
+plugin {
+  quota_status_success = DUNNO
+  quota_status_nouser = DUNNO
+  quota_status_overquota = "552 5.2.2 Mailbox is full"
+}
+
 imap_capability=+SEPCIAL-USE XLIST
 namespace inbox {
   inbox = yes
diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master
index f06af8228807cf896136004256ae21eea75fc9b9..8bda2b7dccaf51517ea9711e5e3bcf67933b9c89 100644
--- a/install/tpl/fedora_postfix.conf.master
+++ b/install/tpl/fedora_postfix.conf.master
@@ -11,7 +11,8 @@ broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
 smtpd_restriction_classes = greylisting
 greylisting = check_policy_service inet:127.0.0.1:10023
-smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}, check_policy_service inet:127.0.0.1:10060
+smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10060
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
diff --git a/install/tpl/gentoo_postfix.conf.master b/install/tpl/gentoo_postfix.conf.master
index dc20e02c13c44b00b89b030f9a6b99aa4ce9a142..79a9dcd63d6731690659cb3121de96dfeda26878 100644
--- a/install/tpl/gentoo_postfix.conf.master
+++ b/install/tpl/gentoo_postfix.conf.master
@@ -10,7 +10,8 @@ broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
 smtpd_restriction_classes = greylisting
 greylisting = check_policy_service inet:127.0.0.1:10023
-smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}, check_policy_service inet:127.0.0.1:10060
+smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10060
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert
diff --git a/install/tpl/master_cf_amavis10025.master b/install/tpl/master_cf_amavis10025.master
index 43f362d5c0f43b8c39f95db09ede9ac90c840fd9..6dee892264d3d6f5491fecb104a0242f079cda88 100644
--- a/install/tpl/master_cf_amavis10025.master
+++ b/install/tpl/master_cf_amavis10025.master
@@ -8,6 +8,7 @@
         -o smtpd_helo_restrictions=
         -o smtpd_sender_restrictions=
         -o smtpd_recipient_restrictions=permit_mynetworks,reject
+        -o smtpd_end_of_data_restrictions=
         -o mynetworks=127.0.0.0/8
         -o strict_rfc821_envelopes=yes
         -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
diff --git a/install/tpl/master_cf_amavis10027.master b/install/tpl/master_cf_amavis10027.master
index f9fdf1cf6045faca63eab27d6f8774a689bac44a..640902d52e109a76d206cb72123b7cf1ea65e9d0 100644
--- a/install/tpl/master_cf_amavis10027.master
+++ b/install/tpl/master_cf_amavis10027.master
@@ -8,6 +8,7 @@
         -o smtpd_helo_restrictions=
         -o smtpd_sender_restrictions=
         -o smtpd_recipient_restrictions=permit_mynetworks,reject
+        -o smtpd_end_of_data_restrictions=
         -o mynetworks=127.0.0.0/8
         -o strict_rfc821_envelopes=yes
         -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
diff --git a/install/tpl/opensuse_dovecot2.conf.master b/install/tpl/opensuse_dovecot2.conf.master
index d9f29a41e17b185c89710fcbebeef233e3292e1f..7fb51246f9e2f04210f1eb48506a93419ea26aee 100644
--- a/install/tpl/opensuse_dovecot2.conf.master
+++ b/install/tpl/opensuse_dovecot2.conf.master
@@ -79,6 +79,21 @@ mail_plugins = $mail_plugins quota
 #2.3+     }
 #2.3+ }
 
+service quota-status {
+  executable = quota-status -p postfix
+  inet_listener {
+    # separate multiple addresses with space:
+    address = 127.0.0.1
+    port = 10060
+  }
+  client_limit = 1
+}
+plugin {
+  quota_status_success = DUNNO
+  quota_status_nouser = DUNNO
+  quota_status_overquota = "552 5.2.2 Mailbox is full"
+}
+
 imap_capability=+SEPCIAL-USE XLIST
 namespace inbox {
   inbox = yes
diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master
index 4192f988b5213775cc7b47a99b70f3add21946cc..6661bffd987728610fd699e46c9d4db9cdb64c8c 100644
--- a/install/tpl/opensuse_postfix.conf.master
+++ b/install/tpl/opensuse_postfix.conf.master
@@ -13,7 +13,8 @@ broken_sasl_auth_clients = yes
 smtpd_sasl_authenticated_header = yes
 smtpd_restriction_classes = greylisting
 greylisting = check_policy_service inet:127.0.0.1:10023
-smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}, check_policy_service inet:127.0.0.1:10060
+smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10060
 smtpd_use_tls = yes
 smtpd_tls_security_level = may
 smtpd_tls_cert_file = {config_dir}/smtpd.cert