mail(1): call sendmail, not send-mail
authorJohn Marino <draco@marino.st>
Mon, 9 Mar 2015 06:33:45 +0000 (07:33 +0100)
committerJohn Marino <draco@marino.st>
Mon, 9 Mar 2015 07:54:33 +0000 (08:54 +0100)
There is no actual executable or link to executable named "send-mail".
Somehow the request must be processed by the mailwrapper because tuxillo
reports mail(1) will not function without an entry in mailer.conf.

Rather than fix all the sample mailer.conf files, the installed one, and
the MTA switch instructions, just make mail(1) spawn "sendmail" instead.
This works because send-mail is always an alias for sendmail in
/etc/mail/mailer.conf

etc/mail/mailer.conf
share/man/man5/mailer.conf.5
usr.bin/mail/names.c

index 2f6679e..6afe45d 100644 (file)
@@ -3,7 +3,6 @@
 #
 
 sendmail       /usr/libexec/dma
-send-mail      /usr/libexec/dma
 mailq          /usr/libexec/dma
 newaliases     true
 hoststat       true
index a75cfef..774c208 100644 (file)
@@ -31,7 +31,7 @@
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\" The following requests are required for all man pages.
-.Dd December 16, 1998
+.Dd March 9, 2015
 .Dt MAILER.CONF 5
 .Os
 .Sh NAME
@@ -59,39 +59,56 @@ contain comments, denoted by a # mark in the first column of any line.
 .Sh EXAMPLES
 The following is an example of how to set up an
 .Nm
-for traditional sendmail invocation behavior.
+for traditional sendmail invocation behavior (installed from DPorts)
 .Bd -literal
-# Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail
-sendmail       /usr/libexec/sendmail/sendmail
-send-mail      /usr/libexec/sendmail/sendmail
-mailq          /usr/libexec/sendmail/sendmail
-newaliases     /usr/libexec/sendmail/sendmail
+# Use sendmail as Mail Transfer Agent
+sendmail       /usr/local/sbin/sendmail
+mailq          /usr/local/bin/mailq
+newaliases     /usr/local/bin/newaliases
+hoststat       /usr/local/bin/hoststat
+purgestat      /usr/local/bin/purgestat
 .Ed
 .Pp
-This example shows how to invoke a sendmail-workalike like Postfix in
-place of sendmail.
+This example shows how to invoke a sendmail-workalike like Postfix
+installed from DPorts to replace
+.Xr dma 8
 .Bd -literal
-# Emulate sendmail using postfix
-sendmail       /usr/libexec/postfix/sendmail
-send-mail      /usr/libexec/postfix/sendmail
-mailq          /usr/libexec/postfix/sendmail
-newaliases     /usr/libexec/postfix/sendmail
+# Use postfix as Mail Transfer Agent
+sendmail       /usr/local/sbin/sendmail
+mailq          /usr/local/bin/mailq
+newaliases     /usr/local/bin/newaliases
+hoststat       true
+purgestat      true
+.Ed
+.Pp
+This example shows how to invoke a sendmail-workalike like OpenSMTPd
+installed from DPorts to replace
+.Xr dma 8
+.Bd -literal
+# Use opensmtpd as Mail Transfer Agent
+sendmail       /usr/local/sbin/smtpctl
+mailq          /usr/local/sbin/smtpctl
+newaliases     /usr/local/sbin/smtpctl
+hoststat       true
+purgestat      true
+.Ed
+.Pp
+These are the default contents of the file
+.Bd -literal
+# Use dma as Mail Transfer Agent
+sendmail       /usr/libexec/dma
+mailq          /usr/libexec/dma
+newaliases     true
+hoststat       true
+purgestat      true
 .Ed
 .Sh SEE ALSO
 .Xr mail 1 ,
-.Xr mailq 1 ,
-.Xr newaliases 1 ,
-.Xr mailwrapper 8 ,
-.Xr sendmail 8
+.Xr mailwrapper 8
 .Sh HISTORY
 .Nm
 appeared in
 .Nx 1.4 .
 .Sh AUTHORS
 .An Perry E. Metzger Aq Mt perry@piermont.com
-.Sh BUGS
-The entire reason this program exists is a crock. Instead, a command
-for how to submit mail should be standardized, and all the "behave
-differently if invoked with a different name" behavior of things like
-.Xr mailq 1
 should go away.
index 37efb07..3c8a7d9 100644 (file)
@@ -569,7 +569,7 @@ unpack(struct name *np)
                extra++;
        top = (char **)salloc((t + extra) * sizeof(*top));
        ap = top;
-       *ap++ = "send-mail";
+       *ap++ = "sendmail";
        *ap++ = "-i";
        if (metoo)
                *ap++ = "-m";