sendmail(8) is the default Mail Transfer Agent (MTA) in FreeBSD.
There is a number of processing options that may be set. In my case I’m using FreeBSD 8.2, sendmail 8.14 with few more options...
myhost.mc
I went trough SMTP Authentication guided by hanbook. It is good for a refresh memory but that is just little part of my configuration. A added a bit more lines for extending sendmail capabilities.After that, I ran make; make install; make restart while in /etc/mail
Despite the fact that Sendmail did not complain it desn't start
Check: -- check sendmail capability
# sendmail -d0.1 -bv
Version 8.14.4
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SASLv2
SCANF STARTTLS TCPWRAPPERS USERDB XDEBUG
/etc/mail/sendmail.cf: line 2: invalid argument to V line: "ERSIONID(FreeBSD: s"
/etc/mail/sendmail.cf: line 6: fileclass: cannot open 'ATURE(access_db,': No such file or directory
/etc/mail/sendmail.cf: line 7: fileclass: cannot open 'ATURE(blacklist_recipients)': No such file or directory
/etc/mail/sendmail.cf: line 8: fileclass: cannot open 'ATURE(local_lmtp)': No such file or directory
/etc/mail/sendmail.cf: line 9: fileclass: cannot open 'ATURE(mailertable,': No such file or directory
/etc/mail/sendmail.cf: line 10: fileclass: cannot open 'ATURE(virtusertable,': No such file or directory
/etc/mail/sendmail.cf: line 12: fileclass: cannot open 'ATURE(greet_pause,': No such file or directory
/etc/mail/sendmail.cf: line 35: MAILER(local): A= argument required
/etc/mail/sendmail.cf: line 36: MAILER(smtp): A= argument required
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = www.example.info
(canonical domain name) $j = www.example.info
(subdomain name) $m = ...info
(node name) $k = www.example.info
========================================================
No local mailer defined
QueueDirectory (Q) option must be set
My .cf an .mc seems ok, so where could by problem?
Althought I googled that message, I have not seen solution.
Solution:
I did check every line for a missing characters like:
"." "}" ")" ";" "//"
then found the mistake: a missing bracket ")"
FEATURE(`greet_pause', `6000'
FEATURE(`greet_pause', `6000')
I ran make sequence successfully now.
# make; make install; make restart - while in /etc/mail
# sendmail -d0.1 -bv
Version 8.14.4
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SASLv2
SCANF STARTTLS TCPWRAPPERS USERDB XDEBUG
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = www
(canonical domain name) $j = www.example.info
(subdomain name) $m = example.info
(node name) $k = example
========================================================
Recipient names must be specified
PS: FEATURE(`greet_pause', `6000') Spammers are motivated to send their unsolicited emails as rapidly as possible. Wait 6sec before sending the SMTP greeting string wasting their time.
Added bit later:
Sendmail did not start anyway.I reinstalled base version from ports.
Altered /etc/make.conf
SENDMAIL_MC=/etc/mail/smtp.mc
## SENDMAIL_CF_DIR==important after replaced base sendmailSENDMAIL_CF_DIR= /usr/local/share/sendmail/cf
SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2
# Adding to enable alternate port (smtps) for sendmail...
SENDMAIL_CFLAGS+= -D_FFR_SMTP_SSL
# sockstat -4 | grep 25
root sendmail 50027 3 tcp4 *:25 *:*

sendmail, Fourth Edition
www.google.co.uk/bsd
www.yahoo.com