January 22, 2020 9:53 AM, "Éloi Rivard" <eloi.riv...@aquilenet.fr> wrote:
>> What about RFC 1891? Is there an option to disable use of additional >> parameters such as ORCPT [1] to ensure compatibility with smtp tools that >> does >> not support this standard? > > Actually I was misunderstanding this. There is no issue with ORCPT. > >> It is inaccurate that no system user is involved here, all recipients do >> resolve into a username because some user has to do the LMTP session. In >> virtual setups, like yours seems to be, the proper way is to create some >> dedicated user and map all recipients to that: >> >> action sourcehut lmtp "/tmp/lists.forge.mydomain-tls-lmtp.sock" \ >> virtual { "@" = _sourcehut } >> >> In cases where you have a full list of recipients and do not need to get >> virtual mappings involved, you can do: >> >> action sourcehut lmtp "/tmp/lists.forge.mydomain-tls-lmtp.sock" \ >> user _sourcehut >> >> But no matter what, any action in smtpd.conf is a command that is going >> to get executed and a process has to have a owner, so there is going to >> be a system user involved. > > Indeed, this solution seems to work: > > action srht lmtp "/tmp/lists.forge.mydomain-tls-lmtp.sock" rcpt-to virtual { > "@" = listssrht } > match from any for any action srht > > Now I encounter another issue: sourcehut mailing lists have the form " > ~user/listn...@lists.forge.mydomain.tld" [1]. There is also a backup formatm. > " > u.user.listn...@lists.forge.mydomain.tld". The backup format works fine, but > the > tilde character does not seem to be handled correctly in the main format. > Those > are the commands received by the lmtp client when I send a mail to > ~user/listn...@lists.forge.mydomain.tld: > > LHLO localhost > MAIL FROM:<foo...@mydomain.tld> > RCPT TO:<:user/listn...@lists.forge.mydomain.tld> > > In the "RCPT TO" command, the user has no tilde. The sourcehut developpers > argue > that it is a valid character for an email adress. Would you consider > supporting > tildes in OpenSMTPD? > The '~' tilde character is already allowed but escaped, which is why you see ':'. It seems like the lmtp MDA gets the escaped version when it should get the raw version, please fill a but report on Github and I'll have a look shortly.