Where are the logs?
The default location depends on your linux/unix system, but the most common places are
- /var/log/maillog
- /var/log/mail.log
- /var/adm/maillog
- /var/adm/syslog/mail.log
If it's not there, look up /etc/syslog.conf
. You should see something like this
mail.* -/var/log/maillog
sendmail writes logs to the mail
facility of syslog. Therefore, which file it gets written to depends on how syslog was configured.
If you system uses syslog-ng (instead of the more "traditional" syslog), then you'll have to look up your syslog-ng.conf
file. You'll should something like this:
# This files are the log come from the mail subsystem.
#
destination mail { file("/var/log/mail.log"); };
destination maillog { file("/var/log/maillog"); };
destination mailinfo { file("/var/log/mail.info"); };
destination mailwarn { file("/var/log/mail.warn"); };
destination mailerr { file("/var/log/mail.err"); };
Unable to send out emails?
One of the most common reason I've seen for a freshly installed sendmail not being able to send out emails is the DAEMON_OPTIONS being set to listen only on 127.0.0.1
See /etc/mail/sendmail.mc
dnl #
dnl # The following causes sendmail to only listen on the IPv4 loopback address
dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
If that's your case, remove the "Addr=127.0.0.1" part, rebuild your conf file and you're good to go!
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
[root@server]$ m4 sendmail.mc > /etc/sendmail.cf
[root@server]$/etc/init.d/sendmail restart
If you've been making changes to /etc/sendmail.cf manually thus far (instead of the *.m4 file) you can make similar changes in /etc/sendmail.cf. The offending line will look like this:
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
Change it to:
O DaemonPortOptions=Port=smtp, Name=MTA
Depending on the way your applications are set up, you may be able to see the offending user account by inspect all running processes on the server and see which user account(s) are hogging the CPU. Something like this:
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
Hopefully it's as simple as a userspace process that's abusing known privileges and nothing like a rooted box that needs to be wiped down and rebuilt. Ready the flamethrower.
Best Answer
I copy from the bat book:
So if you want to set it to something else at the bottom of your sendmail.mc add the following lines:
Also note that if this header is already defined, then it cannot be replaced unless sendmail was compiled with
H_ACHECK
defined forconf.c
.