diff --git a/doc/upgrade.rst b/doc/upgrade.rst index 8b250a3c8..a17f81024 100644 --- a/doc/upgrade.rst +++ b/doc/upgrade.rst @@ -207,7 +207,7 @@ If you use ``Postgres``: Change ``user_query`` in ``/etc/dovecot/dovecot-sql-master.conf.ext``: .. sourcecode:: - user_query = SELECT '%{home_dir}/%%d/%%n' AS home, %mailboxes_owner_uid as uid, %mailboxes_owner_gid as gid, '*:bytes=' || mb.quota || 'M' AS quota_rule FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN core_user u ON u.id=mb.user_id WHERE mb.is_send_only AND mb.address='%%n' AND dom.name='%%d' + user_query = SELECT '%{home_dir}/%%d/%%n' AS home, %mailboxes_owner_uid as uid, %mailboxes_owner_gid as gid, '*:bytes=' || mb.quota || 'M' AS quota_rule FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN core_user u ON u.id=mb.user_id WHERE (mb.is_send_only IS NOT TRUE OR %s NOT IN ('imap', 'pop3')) AND mb.address='%%n' AND dom.name='%%d' You need to add ``proxy:pgsql:/etc/postfix/sql-send-only.cf`` to ``smtpd_recipient_restrictions`` in ``/etc/postfix/main.cf``: @@ -224,7 +224,7 @@ If you use ``MySQL``: Change ``password_query`` in ``/etc/dovecot/dovecot-sql-master.conf.ext``: .. sourcecode:: - user_query = SELECT '%{home_dir}/%%d/%%n' AS home, %mailboxes_owner_uid as uid, %mailboxes_owner_gid as gid, CONCAT('*:bytes=', mb.quota, 'M') AS quota_rule FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN core_user u ON u.id=mb.user_id WHERE mb.is_send_only=1 AND mb.address='%%n' AND dom.name='%%d' + user_query = SELECT '%{home_dir}/%%d/%%n' AS home, %mailboxes_owner_uid as uid, %mailboxes_owner_gid as gid, CONCAT('*:bytes=', mb.quota, 'M') AS quota_rule FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN core_user u ON u.id=mb.user_id WHERE (mb.is_send_only=0 OR %s NOT IN ('imap', 'pop3')) AND mb.address='%%n' AND dom.name='%%d' You need to add ``proxy:mysql:/etc/postfix/sql-send-only.cf`` to ``smtpd_recipient_restrictions`` in ``/etc/postfix/main.cf``: diff --git a/modoboa/admin/migrations/0021_mailbox_is_send_only.py b/modoboa/admin/migrations/0021_mailbox_is_send_only.py new file mode 100644 index 000000000..0f8cda14e --- /dev/null +++ b/modoboa/admin/migrations/0021_mailbox_is_send_only.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.1 on 2023-06-13 16:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("admin", "0020_auto_20210130_2226"), + ] + + operations = [ + migrations.AddField( + model_name="mailbox", + name="is_send_only", + field=models.BooleanField(default=False), + ), + ]