advert

Friday, 17 June 2011

cannot open 'ATURE(access_db,': No such file or directory

Introduction:

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 sendmail
SENDMAIL_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                  *:*

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