Fixed: user+extension@domain.com doesn't work with per-domain catch-all.

This commit is contained in:
Zhang Huangbin 2015-04-04 07:55:59 +08:00
parent 4b126092a2
commit a0945e6a13
2 changed files with 90 additions and 0 deletions

View File

@ -36,6 +36,7 @@
<li><a href="#mysqlmariadb-backend-special">MySQL/MariaDB backend special</a><ul>
<li><a href="#add-new-sql-column-in-vmail-database">Add new SQL column in vmail database</a></li>
<li><a href="#restrict-mail-user-to-login-from-specified-ip-addresses-or-networks-and-apply-service-restriction-while-acting-as-sasl-server">Restrict mail user to login from specified IP addresses or networks, and apply service restriction while acting as SASL server</a></li>
<li><a href="#fixed-userextensiondomaincom-doesnt-work-with-per-domain-catch-all">Fixed: user+extension@domain.com doesn't work with per-domain catch-all</a></li>
<li><a href="#fixed-not-backup-sogo-database_1">Fixed: not backup SOGo database</a></li>
<li><a href="#fixed-drop-retired-column-in-amavisd-database-policyspam_modifies_subj_1">Fixed: drop retired column in Amavisd database: policy.spam_modifies_subj</a></li>
<li><a href="#optional-bypass-greylisting-for-some-big-isps_1">[OPTIONAL] Bypass greylisting for some big ISPs</a></li>
@ -44,6 +45,7 @@
<li><a href="#postgresql-backend-special">PostgreSQL backend special</a><ul>
<li><a href="#add-new-sql-column-in-vmail-database_1">Add new SQL column in vmail database</a></li>
<li><a href="#restrict-mail-user-to-login-from-specified-ip-addresses-or-networks-and-apply-service-restriction-while-acting-as-sasl-server_1">Restrict mail user to login from specified IP addresses or networks, and apply service restriction while acting as SASL server</a></li>
<li><a href="#fixed-userextensiondomaincom-doesnt-work-with-per-domain-catch-all_1">Fixed: user+extension@domain.com doesn't work with per-domain catch-all</a></li>
<li><a href="#fixed-not-backup-sogo-database_2">Fixed: not backup SOGo database</a></li>
<li><a href="#fixed-drop-retired-column-in-amavisd-database-policyspam_modifies_subj_2">Fixed: drop retired column in Amavisd database: policy.spam_modifies_subj</a></li>
<li><a href="#optional-bypass-greylisting-for-some-big-isps_2">[OPTIONAL] Bypass greylisting for some big ISPs</a></li>
@ -56,6 +58,7 @@
<p><strong>WARNING: Still working in progress, do <em>NOT</em> apply it.</strong></p>
<h2 id="changelog">ChangeLog</h2>
<ul>
<li>2015-04-03: [MySQL, PostgreSQL] Fixed: user+extension@domain.com doesn't work with per-domain catch-all.</li>
<li>2015-02-28: [LDAP, MySQL] Drop retired column in Amavisd database: <code>policy.spam_modifies_subj</code>.</li>
<li>2015-02-27: [All backends] Add new LDAP attribute <code>allowNets</code> and SQL column
<code>mailbox.allow_nets</code>, which used to restrict mail user to login
@ -427,6 +430,27 @@ sql&gt; UPDATE mailbox SET allow_nets='172.16.244.1,192.168.1.0/24';
</code></pre>
<p>To remove this restriction, just set <code>mailbox.allow_nets</code> to <code>NULL</code>, not empty string.</p>
<h3 id="fixed-userextensiondomaincom-doesnt-work-with-per-domain-catch-all">Fixed: user+extension@domain.com doesn't work with per-domain catch-all</h3>
<p>With iRedMail-0.9.0 and earlier versions, if you have per-domain catch-all
enabled, email sent to <code>user+extension@domain.com</code> will be delivered to
catch-all address instead of <code>user@domain.com</code>. Below steps fix this issue.</p>
<ul>
<li>Open file <code>/etc/postfix/mysql/catchall_maps.cf</code> (Linux/OpenBSD) or
<code>/usr/local/etc/postfix/mysql/catchall_maps.cf</code> (FreeBSD), find below line:</li>
</ul>
<pre><code>query = ... WHERE alias.address='%d' AND alias.address=domain.domain ...
</code></pre>
<ul>
<li>Append one more statement after <code>alias.address='%d'</code>, the final setting
should be:</li>
</ul>
<pre><code>query = ... WHERE alias.address='%d' AND '%u' NOT LIKE '%%+%%' AND alias.address=domain.domain ...
</code></pre>
<ul>
<li>Save your change and restart Postfix service.</li>
</ul>
<h3 id="fixed-not-backup-sogo-database_1">Fixed: not backup SOGo database</h3>
<p>Note: this step is not applicable if you don't use SOGo groupware.</p>
<p>Open backup script <code>/var/vmail/backup/backup_mysql.sh</code>, append SOGo SQL
@ -503,6 +527,27 @@ sql&gt; UPDATE mailbox SET allow_nets='172.16.244.1,192.168.1.0/24';
</code></pre>
<p>To remove this restriction, just set <code>mailbox.allow_nets</code> to <code>NULL</code>, not empty string.</p>
<h3 id="fixed-userextensiondomaincom-doesnt-work-with-per-domain-catch-all_1">Fixed: user+extension@domain.com doesn't work with per-domain catch-all</h3>
<p>With iRedMail-0.9.0 and earlier versions, if you have per-domain catch-all
enabled, email sent to <code>user+extension@domain.com</code> will be delivered to
catch-all address instead of <code>user@domain.com</code>. Below steps fix this issue.</p>
<ul>
<li>Open file <code>/etc/postfix/pgsql/catchall_maps.cf</code> (Linux/OpenBSD) or
<code>/usr/local/etc/postfix/pgsql/catchall_maps.cf</code> (FreeBSD), find below line:</li>
</ul>
<pre><code>query = ... WHERE alias.address='%d' AND alias.address=domain.domain ...
</code></pre>
<ul>
<li>Append one more statement after <code>alias.address='%d'</code>, the final setting
should be:</li>
</ul>
<pre><code>query = ... WHERE alias.address='%d' AND '%u' NOT LIKE '%%+%%' AND alias.address=domain.domain ...
</code></pre>
<ul>
<li>Save your change and restart Postfix service.</li>
</ul>
<h3 id="fixed-not-backup-sogo-database_2">Fixed: not backup SOGo database</h3>
<p>Note: this step is not applicable if you don't use SOGo groupware.</p>
<p>Open backup script <code>/var/vmail/backup/backup_mysql.sh</code>, append SOGo SQL

View File

@ -7,6 +7,7 @@ __WARNING: Still working in progress, do _NOT_ apply it.__
## ChangeLog
* 2015-04-03: [MySQL, PostgreSQL] Fixed: user+extension@domain.com doesn't work with per-domain catch-all.
* 2015-02-28: [LDAP, MySQL] Drop retired column in Amavisd database: `policy.spam_modifies_subj`.
* 2015-02-27: [All backends] Add new LDAP attribute `allowNets` and SQL column
`mailbox.allow_nets`, which used to restrict mail user to login
@ -442,6 +443,28 @@ sql> UPDATE mailbox SET allow_nets='172.16.244.1,192.168.1.0/24';
To remove this restriction, just set `mailbox.allow_nets` to `NULL`, not empty string.
### Fixed: user+extension@domain.com doesn't work with per-domain catch-all
With iRedMail-0.9.0 and earlier versions, if you have per-domain catch-all
enabled, email sent to `user+extension@domain.com` will be delivered to
catch-all address instead of `user@domain.com`. Below steps fix this issue.
* Open file `/etc/postfix/mysql/catchall_maps.cf` (Linux/OpenBSD) or
`/usr/local/etc/postfix/mysql/catchall_maps.cf` (FreeBSD), find below line:
```
query = ... WHERE alias.address='%d' AND alias.address=domain.domain ...
```
* Append one more statement after `alias.address='%d'`, the final setting
should be:
```
query = ... WHERE alias.address='%d' AND '%u' NOT LIKE '%%+%%' AND alias.address=domain.domain ...
```
* Save your change and restart Postfix service.
### Fixed: not backup SOGo database
Note: this step is not applicable if you don't use SOGo groupware.
@ -539,6 +562,28 @@ sql> UPDATE mailbox SET allow_nets='172.16.244.1,192.168.1.0/24';
To remove this restriction, just set `mailbox.allow_nets` to `NULL`, not empty string.
### Fixed: user+extension@domain.com doesn't work with per-domain catch-all
With iRedMail-0.9.0 and earlier versions, if you have per-domain catch-all
enabled, email sent to `user+extension@domain.com` will be delivered to
catch-all address instead of `user@domain.com`. Below steps fix this issue.
* Open file `/etc/postfix/pgsql/catchall_maps.cf` (Linux/OpenBSD) or
`/usr/local/etc/postfix/pgsql/catchall_maps.cf` (FreeBSD), find below line:
```
query = ... WHERE alias.address='%d' AND alias.address=domain.domain ...
```
* Append one more statement after `alias.address='%d'`, the final setting
should be:
```
query = ... WHERE alias.address='%d' AND '%u' NOT LIKE '%%+%%' AND alias.address=domain.domain ...
```
* Save your change and restart Postfix service.
### Fixed: not backup SOGo database
Note: this step is not applicable if you don't use SOGo groupware.