1

Topic: Mail sending issues related to milter acl plugin

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 2026081001 (Backend: pgsql, Date: 2026-08-26 10:19:52) iRedMail Enterprise Edition: (url removed so post validator passes)
1.8.4 PGSQL edition.

- Deployed via script originally, recently upgraded to EE
- Linux/BSD distribution name and version: Debian 12.15
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): PGSQL
- Web server (Apache or Nginx): Nginx
- Manage mail accounts with iRedAdmin-Pro? Yes
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

Milter seems to be making us problems. When trying to send any oubound mail, immediate failure with error 451 4.7.1 Service Unavailable.

Error message in /var/log/milter/milter.log:

Error while applying plugin acl: pq: column "show_in_address_book" does not exist at column 97 (42703)

If I remove the `acl` plugin from milter in `settings.json`  and restart milter then outbound mail works. Do we have some missing database schema? I've beat my head for hours on this one now.

----

Spider Email Archiver: On-Premises, lightweight email archiving software developed by iRedMail team. Supports Amazon S3 compatible storage and custom branding.

2

Re: Mail sending issues related to milter acl plugin

By searching column names in databases on a known good server config, I was able to get it working like so: (connected to the vmail database in pgsql prompt)

ALTER TABLE maillists ADD COLUMN show_in_address_book smallint not null DEFAULT 1;
CREATE INDEX idx_maillists_show_in_address_book ON public.maillists USING btree (show_in_address_book);
ALTER TABLE alias ADD COLUMN show_in_address_book smallint not null default 1;
CREATE INDEX idx_alias_show_in_address_book ON public.alias USING btree (show_in_address_book);

3

Re: Mail sending issues related to milter acl plugin

It's a bug of EE v1.8.3. Here's the full SQL commands to add them:

ALTER TABLE alias     ADD COLUMN IF NOT EXISTS show_in_address_book INT2 NOT NULL DEFAULT 1;
ALTER TABLE maillists ADD COLUMN IF NOT EXISTS show_in_address_book INT2 NOT NULL DEFAULT 1;

CREATE INDEX IF NOT EXISTS idx_alias_show_in_address_book     ON alias (show_in_address_book);
CREATE INDEX IF NOT EXISTS idx_maillists_show_in_address_book ON maillists (show_in_address_book);