Hello Jan, [email protected] (Jan Eden), 2026.01.19 (Mon) 18:05 (CET): > On 2026-01-19 14:00, Jan Eden wrote: > > > On 2026-01-19 14:10, Reio Remma wrote: > > > > > > I see I have this for mlmmj in my config: > > > > > > > > > > action deliver_mlmmj mda "/usr/bin/mlmmj-receive -L > > > > > /var/vmail/mlmmj/%{rcpt.domain}/%{rcpt.user}/" virtual > > > > > <mlmmj_virtuals>userbase <mlmmj_userinfo> > > > > > match from any for domain <domains> rcpt-to <mlmmj_recipients> action > > > > > deliver_mlmmj > > > > > > > > > Hi Reio, > > > > > > > > could you quote (anonymized) lines from the three tables referenced in > > > > your config, so I understand how they work together? I was under the > > > > impression I could just use one table to link the list name to the > > > > %{dest.user} variable. My lists will not use different domains, so I > > > > will probably not need the domain variable. > > > > > > Unfortunately I'm no further help here, because I've a setup with virtual > > > users stored in a database. Maybe you can just skip the virtual/userbase > > > part of the action. > > > > I have now simplified the test configuration like this: > > > > -------------------------------------------------- > > table mailing_lists { [email protected] } > > action "mlmmj" mda "/usr/local/bin/mlmmj-receive -L > > /var/spool/mlmmj/testing/" > > match from any for rcpt-to <mailing_lists> action "mlmmj" > > -------------------------------------------------- > > > > Note that the action does not use a variable (for now). But even then, I > > get the well-known error message 550. It is quite frustrating. > > Progress! I was able to replicate Reio's configuration like this (257 is > the UID/GID of the _smtpd user account): > > -------------------------------------------------- > table mailing_lists { [email protected] = testing } > table mlmmj_userinfo { testing = 257:257:/var/spool/mlmmj } > action "mlmmj" mda "/usr/local/bin/mlmmj-receive -L > /var/spool/mlmmj/%{dest.user}/" virtual <mailing_lists> userbase > <mlmmj_userinfo> > match from any for rcpt-to <mailing_lists> action "mlmmj" > -------------------------------------------------- > > This results in: > > - Messages sent from any subscribed address are delivered to the > mailboxes of *local* subscribers. > - Messages sent from non-subscribers create administrative messages for > owners/moderators.
This sounds like mlmmj was handling the mails indeed. > Remaining issues: > > - Messages sent from subscribed addresses are not being delivered to > external subscribers. This sounds like a OpenSMTPd outbound mail config thing? What are the logs showing? What do you get after the following trace options? $ for i in smtp mta expand lookup rules; do doas smtpctl trace $i; done > - Messages sent from non-subscribers result in generic error messages > (Status: 5.3.0). But... didn't you state above that messeages from non-subscribers were handled by mlmmj? Yet OpenSMTPd responds 5.3.0 to the sender? > - Releasing messages from non-subscribers will not deliver them to any > subscriber (local or external). Not suprising for external, see above. Rather unexpected for local, indeed. What are the logs showing? Marcus > So the mda action does work in principle, but it still has major flaws > (for me). While the simple mapping/piping method works perfectly, I > still would like to understand why the mda action fails. > > Thanks in advance for any pointers! > > - Jan >
