mail: make The Dragonfly Mail Agent (dma) the default mta.

dma accepts mail from a local Mail User Agent (MUA) and delivers it
locally or to a smarthost for delivery. dma does not accept inbound
mail (i.e., it does not listen on port 25) and is not intended to
provide the same functionality as a full MTA like postfix or sendmail.
It is intended for use cases such as delivering cron(8) mail. which
is the default configuration and usage of sendmail in the default
setup of the base system.

In order to switch the default from sendmail to dma, we teach
mailwrapper to fallback on dma directly if the mailer.conf file cannot
be opened.
We install by default a mailer.conf file which points at dma
We install a mailer.conf file for sendmail in the examples.

Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D37035
This commit is contained in:
Baptiste Daroussin 2022-10-13 11:37:21 +02:00
parent bdbc05bea9
commit a67b925ff3
4 changed files with 15 additions and 13 deletions

View file

@ -24,11 +24,6 @@ YFLAGS+= -i
CLEANFILES= aliases_parse.i CLEANFILES= aliases_parse.i
FILES= mailer.conf FILES= mailer.conf
FILESDIR= ${SHAREDIR}/examples/dma FILESDIR= ${SHAREDIR}/examples/dma
.if ${MK_SENDMAIL} == no
CONFGROUPS= CONFS MAILER
MAILERDIR= /etc/mail
MAILER= mailer.conf
.endif
BINMODE= 2555 BINMODE= 2555

View file

@ -596,7 +596,7 @@ allscreens_kbdflags="" # Set this kbdcontrol mode for all virtual screens
mta_start_script="/etc/rc.sendmail" mta_start_script="/etc/rc.sendmail"
# Script to start your chosen MTA, called by /etc/rc. # Script to start your chosen MTA, called by /etc/rc.
# Settings for /etc/rc.sendmail and /etc/rc.d/sendmail: # Settings for /etc/rc.sendmail and /etc/rc.d/sendmail:
sendmail_enable="NO" # Run the sendmail inbound daemon (YES/NO). sendmail_enable="NONE" # Run the sendmail inbound daemon (YES/NO).
sendmail_pidfile="/var/run/sendmail.pid" # sendmail pid file sendmail_pidfile="/var/run/sendmail.pid" # sendmail pid file
sendmail_procname="/usr/sbin/sendmail" # sendmail process name sendmail_procname="/usr/sbin/sendmail" # sendmail process name
sendmail_flags="-L sm-mta -bd -q30m" # Flags to sendmail (as a server) sendmail_flags="-L sm-mta -bd -q30m" # Flags to sendmail (as a server)

View file

@ -16,10 +16,10 @@ SYMLINKS= ../sbin/mailwrapper /usr/bin/mailq \
mailwrapper /usr/sbin/purgestat \ mailwrapper /usr/sbin/purgestat \
mailwrapper /usr/sbin/sendmail mailwrapper /usr/sbin/sendmail
.if ${MK_MAILWRAPPER} == "no" && ${MK_SENDMAIL} != "no" .if ${MK_MAILWRAPPER} == "no" && ${MK_DMAGENT} != "no"
SYMLINKS+= ../libexec/sendmail/sendmail ${BINDIR}/mailwrapper
.elif ${MK_MAILWRAPPER} == "no" && ${MK_SENDMAIL} == "no" && ${MK_DMAGENT} != "no"
SYMLINKS+= ../libexec/dma ${BINDIR}/mailwrapper SYMLINKS+= ../libexec/dma ${BINDIR}/mailwrapper
.elif ${MK_MAILWRAPPER} == "no" && ${MK_DMAGENT} == "no" && ${MK_SENDMAIL} != "no"
SYMLINKS+= ../libexec/sendmail/sendmail ${BINDIR}/mailwrapper
.endif .endif
.endif .endif
@ -27,16 +27,23 @@ SYMLINKS+= ../libexec/dma ${BINDIR}/mailwrapper
SYMLINKS+= ..${BINDIR}/mailwrapper /bin/rmail SYMLINKS+= ..${BINDIR}/mailwrapper /bin/rmail
.endif .endif
.if ${MK_SENDMAIL} != "no"
FILES= ${SRCTOP}/etc/mail/mailer.conf
FILESDIR= ${SHAREDIR}/examples/sendmail
.endif
.if ${MK_MAILWRAPPER} != "no" .if ${MK_MAILWRAPPER} != "no"
# We install here if either sendmail(8) is enabled, or dma(8) isn't. In the # We install here if either dma(8) is enabled, or sendmail(8) isn't. In the
# latter scenario, we take care of the possibility that neither sendmail(8) nor # latter scenario, we take care of the possibility that neither sendmail(8) nor
# dma(8) are installed and simply provide a default that can be changed for an # dma(8) are installed and simply provide a default that can be changed for an
# alternative in ports. # alternative in ports.
.if ${MK_SENDMAIL} != "no" || ${MK_DMAGENT} == "no" .if ${MK_DMAGENT} != "no" || ${MK_SENDMAIL} == "no"
CONFS= ${SRCTOP}/libexec/dma/dmagent/mailer.conf
.else
CONFS= ${SRCTOP}/etc/mail/mailer.conf CONFS= ${SRCTOP}/etc/mail/mailer.conf
.endif
CONFSDIR= /etc/mail CONFSDIR= /etc/mail
CONFSMODE= 644 CONFSMODE= 644
.endif .endif
.endif
.include <bsd.prog.mk> .include <bsd.prog.mk>

View file

@ -34,4 +34,4 @@
*/ */
#define _PATH_MAILERCONF "/etc/mail/mailer.conf" #define _PATH_MAILERCONF "/etc/mail/mailer.conf"
#define _PATH_DEFAULTMTA "/usr/libexec/sendmail/sendmail" #define _PATH_DEFAULTMTA "/usr/libexec/dma"