diff --git a/.claude/HISTORY.md b/.claude/HISTORY.md index 8553ba75..189146fb 100644 --- a/.claude/HISTORY.md +++ b/.claude/HISTORY.md @@ -761,3 +761,18 @@ _Last updated: 2026-02-07_ - CrowdSec: RUNNING - DNS (named): RUNNING - **External URLs verified**: gk2.secubox.in, evolution.gk2.secubox.in, control.gk2.secubox.in all returning HTTP 200 + +52. **Mailserver Postfix/Dovecot Maildir Path Alignment (2026-02-07)** + - Fixed emails delivered but invisible in Roundcube webmail. + - **Root cause**: Path mismatch between Postfix delivery and Dovecot mail_location. + - Postfix delivered to: `/home/vmail/$domain/$user/new/` + - Dovecot expected: `/home/vmail/$domain/$user/Maildir/new/` + - **container.sh fixes**: + - Changed mount point from `var/mail` to `home/vmail` + - Changed `virtual_mailbox_base` from `/var/mail` to `/home/vmail` + - Changed vmail user home from `/var/mail` to `/home/vmail` + - **users.sh fixes**: + - Create `$domain/$user/Maildir/{cur,new,tmp}` structure (was `$domain/$user/{cur,new,tmp}`) + - Updated vmailbox entries to use `$domain/$user/Maildir/` suffix + - Bumped `secubox-app-mailserver` version to 1.0.0-r2. + - New mail verified delivering correctly to Maildir location. diff --git a/.claude/WIP.md b/.claude/WIP.md index b093197b..f35e540e 100644 --- a/.claude/WIP.md +++ b/.claude/WIP.md @@ -136,6 +136,13 @@ _Last updated: 2026-02-07_ - Added both IPv4 and IPv6 forwarding rules - Persisted in `/etc/firewall.user` +- **Postfix/Dovecot Maildir Path Alignment** — DONE (2026-02-07) + - Root cause: Postfix delivered to `/home/vmail/$domain/$user/new/` but Dovecot looks in `~/Maildir/new/` + - Emails were delivered but invisible in Roundcube + - Fix in `container.sh`: Mount to `home/vmail`, virtual_mailbox_base = `/home/vmail` + - Fix in `users.sh`: Create `$domain/$user/Maildir/{cur,new,tmp}` structure + - Updated vmailbox format to include `Maildir/` suffix + - **Inbound Port 25 Blocked by Free ISP** — KNOWN ISSUE - Free ISP blocks inbound port 25 on residential lines - Outbound mail works, inbound from external fails