On Sun, Jul 07, 2024 at 06:02:00PM -0400, Robert Fuhrer via Postfix-users wrote:
> Oh, thanks; I should’ve realized I could just add another map to > local_recipient_maps. D’oh! You're conflating many rather distinct aspects of the delivery stack. > My Dovecot setup uses MySQL to identify users+passwords. These is not relevant to Postfix, they facilitate the performance of: - The dovecot LDA, when delivering mail to a givan address (user mailbox) - The dovecot IMAP server, when authenticating users and serving the content of their mailbox. These happen behind the scenes and are of little relevance to Postfix. > I assume you’re asking that because (as I just discovered) PostFix > nominally supports MySQL, but OTOH “postconf -m” doesn’t list the > “mysql” lookup table type, so it’s not supported on the distribution > that comes with MacOS. No, Postfix uses system libraries to find local user accounts, and it does not matter whether they are listed in "/etc/passwd" as a file, or hanled by some user directory service. If MacOS knows about the user, Postfix will also. On my MacOS laptop: $ grep viktor /etc/passwd $ postmap -q viktor unix:passwd.byname viktor:********:502:20:Viktor Dukhovni:/Users/viktor:/bin/bash Just like magic. :-) > # main.cf > home_mailbox = Maildir/ This is used by the Postfix local(8) delivery agent, but not the dovecot LDA, if that's what you're using. Post the output of "postconf -nf" and "postconf -Mf" per the instructions in: https://www.postfix.org/DEBUG_README.html#mail making sure to preserve verbatim whitespace and linebreaks. > but my Dovecot setup stores the base directory path in the MySQL DB. > For non-login users, that base directory is of course not relative to > the user's “home directory”, since non-login users have no “home > directory”. (For login users, the base directory just happens to point > to their home directory.) If the "non-login" users aren't listed in "unix:passwd.byname", you can use "fallback_transport" to hand off delivery to the dovecot LDA. And then sure, you need to list them in some table that makes Postfix recognise their email addresses as valid local recipients. main.cf: indexed = ${default_database_type}:${config_directory}/ local_recipient_maps = unix:passwd.byname, $alias_maps, ${indexed}non-login non-login: larry non-login user curly non-login user moe non-login user ... You can alternatively use virtual_alias_maps to rewrite them into a "synthetic" virtual alias domain, handled by the dovecot LDA as the virtual_transport. I use "virtual.invalid" for that. > I guess Dovecot’s LDA would consult the MySQL DB to find the user's > Maildir, but perhaps PostFix’s invocation of the Dovecot LDA overrides > the path using the “home_mailbox”. (?) No, Postfix knows nothing about the internal workings of Dovecot, as expected. -- Viktor. _______________________________________________ Postfix-users mailing list -- postfix-users@postfix.org To unsubscribe send an email to postfix-users-le...@postfix.org