Re: Incompatibility between Sendmail and DMA

From: George Mitchell <george+freebsd_at_m5p.com>
Date: Mon, 06 Jan 2025 17:46:27 UTC
On 1/6/25 11:14, Miroslav Lachman wrote:
> After upgrading from 13.3 to 14.2, sending emails from shel lscript, 
> which had worked for about 20 years, stopped working.
> 
> The code looks like this:
> 
> mailto="mon mon-sms"
> subject="DMA check"
> msg="testing of DMA"
> 
> echo -e "$msg" | mail -s "$subject" "$mailto"
> 
> There are 2 space separated recipients, they are defined in /etc/ 
> aliases. And there is a quoted variable "$mailto". It worked for all the 
> years I am using FreeBSD with Sendmail or Postfix. But it stopped on 
> 14.x with DMA.
> 
> When I run the script it fails with: invalid recipient 'mon mon-sms'
> 
> I understand DMA does not like the quoted variable "$mailto", when I 
> removed the quotes, then DMA can send message to both recipients, but 
> the problem is we have tens of scripts on tens of machines and they will 
> stop working when we upgrade them from 13.3 to 14.2.
> Can this behavior be changed somehow to be the same as Sendmail?
> 
> The second problem is that alias in /etc/aliases cannot point to /dev/ 
> null. It also causes 'invalid recipient' error.
> 
> Are these known and documented incompatibility between Sendmail and DMA?
> 
> Kind regards
> Miroslav Lachman

Sidestepping your final question, your immediate fix is to return to
sendmail by restoring your /etc/mail/mailer.conf to use sendmail by
changing the dma references back to "/usr/libexec/sendmail/sendmail".
We were all warned about this in /usr/src/UPDATING entry 20221205,
but that was a long time ago, and it bit me only just now when I was
updating from 13.4-RELEASE to 13.2-RELEASE and too quickly accepted
what etcupdate gave me on /etc/mail/mailer.conf.           -- George