Solaris Troubleshooting : Sendmail Troubleshooting – 1
Other Learning Articles that you may like to read
Free Courses We Offer
Paid Training Courses we Offer
Here we are going to discuss about basic troubleshooting techniques to resolve the Sendmail issues in solaris..
Step 1. Ensure that your mail client setup is correctly configured.
1. In the configuration section of your mail client, ensure that your outgoing mail server is pointing to the mail server you want to use.
2. Verify that the computer you are trying to send email from is not running a firewall that may be interfering with SMTP traffic on port 25. Ensure that if you are behind a firewall, that it is not blocking the network traffic between your mail client and the mail server.
3. Verify if other similar configured mail clients are able to send out mail. If so, try to find out the differences with yours and if needed correct and retry.
4. If the underlying operating system has a telnet capable client, verify if a connection on port 25 (SMTP) of the mail server.
Open a command line and type
telnet mailserver.mydomain.com 25
A sendmail server will answer with a following similar output:
220 mailserver.mydomain.com ESMTP Sendmail 8.13.8+Sun/8.13.8; Mon, 21 Apr 2008 11:36:17 +0200 (CEST)
When you type the ?help? command the available commands the mail server understands are listed:
214-2.0.0 This is sendmail version 8.13.8+Sun
214-2.0.0 HELO EHLO MAIL RCPT DATA
214-2.0.0 RSET NOOP QUIT HELP VRFY
214-2.0.0 EXPN VERB ETRN DSN STARTTLS
214-2.0.0 For more info use “HELP
214-2.0.0 To report bugs in the implementation contact Sun Microsystems
214-2.0.0 Technical Support.
214-2.0.0 For local information send email to Postmaster at your site.
214 2.0.0 End of HELP info
Try the following to send an e-mail from the command line:
250 clienthostname.mydomain.com Hello clienthostname.mydomain.com [184.108.40.206], pleased to meet you
250 2.1.0 email@example.com… Sender ok
250 2.1.5 firstname.lastname@example.org… Recipient ok
354 Enter mail, end with “.” on a line by itself
subject: This is a test
This contains the BODY of a test mail
250 2.0.0 m3L9aH0W018247 Message accepted for delivery
221 2.0.0 mailserver.mydomain.com closing connection
Note the dot (“.”) at the end of the mail body.
If this test succeeds (mail is delivered to it’s final destination) you most likely have a configuration issue on your mail client.
5. If the underlying operating system allows you to analyze the network traffic on the network interface(s) (using ethereal, wireshark, netcap, tcpdump, snoop, etc…) t ry to capture the network traffic while trying to send a mail form the mail client. Analyze if there is SMTP traffic between your client and the mail server.
Step 2. Verify if a Sun Solaris version of sendmail is being used.
$ /usr/lib/sendmail -v -d0.1 < /dev/null
Compiled with: DNSMAP LDAPMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8
MIME8TO7 NAMED_BIND NDBM NETINET NETINET6 NETUNIX NEWDB NIS
NISPLUS PIPELINING SCANF STARTTLS TCPWRAPPERS USERDB
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = pluto
(canonical domain name) $j = pluto.mydomain.com
(subdomain name) $m = pluto.mydomain.com
(node name) $k = pluto
Recipient names must be specified
The first line mentions the version of sendmail, followed by the “+Sun” string. The latter indicates that this is a version of sendmail shipped with the Solaris OS or delivered through a Solaris patch.
2) Verify if the full path of the sendmail daemons running on the system corresponds to /usr/lib/sendmail
To verify which sendmails deamons are running please see document 236423.
3) Verify is this is a Sun supported sendmail configuration.
If the full path of the sendmail daemons running on the system corresponds to /usr/lib/sendmail and the result of step 1) indicates that this is a version of sendmail shipped with the Solaris OS or delivered through a Solaris patch, this a is a supportes Solaris sendmail configuration.
If a non-Sun version of sendmail is being used, please consult the creator/vendor of this particular sendmail binary for further assistance.
Step 3. Verify if the required sendmail daemons are running on the system from which you are trying to send out mail from.
In Solaris 9 and above, due to the 2 queue paradigm, there are 2 sendmail daemons (/usr/lib/sendmail -Ac -q15m and /usr/lib/sendmail -bd -q15m).
In Solaris 8 and below, there is 1 queue and 1 daemon (/usr/lib/sendmail -bd -q15m).
The -bd option is meant to set the daemon to listen on port 25 and dequeue every 15m with -q15m.
While the -Ac option is to use the submit.cf file even if the operation mode does not indicate an initial mail submission.
For more detials, do: $ man sendmail
a – Verify the sendmail processes are running
For Solaris 9 and above :
# ps -ef |grep sendmail
root 516 1 0 Mar 19 ? 1:16 /usr/lib/sendmail -bd -q15m
smmsp 515 1 0 Mar 19 ? 0:04 /usr/lib/sendmail -Ac -q15m
# /usr/ucb/ps -auxwww | grep sendmail
root 516 0.0 0.2 8240 2648 ? S Mar 19 1:16 sendmail:accepting connections
smmsp 515 0.0 0.1 8240 2216 ? S Mar 19 0:03 sendmail:Queue runner@00:15:00 for /var/spool/clientmqueue
root 271 1 0 Mar 10 ? 0:01 /usr/lib/sendmail -bd -q15m
b – Start the sendmail processFor Solaris 8:
#/usr/lib/sendmail -bd -q15m
For Solaris 9:
#/usr/lib/sendmail -bd -q15m
#/usr/lib/sendmail -Ac -q15m
For Solaris 10 and above :
#svcadm enable svc:/network/smtp:sendmail
c – Check the sendmail process is startedWhen sendmail is started, one would expect to see the below in the /var/log/syslog audit log file :
Apr 30 10:37:40 blade8 sendmail: [ID 702911 mail.info] starting daemon (8.13.4+Sun): SMTP+queueing@00:15:00
Apr 30 10:37:40 blade8 sendmail: [ID 702911 mail.info] starting daemon (8.13.4+Sun): queueing@00:15:00
All audit trail of messages transaction will be logged by default to the /var/log/syslog and errors in both /var/log/syslog and /var/adm/messages files.