Solaris Troubleshooting : Sendmail Troubleshooting – 1

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 Topics:
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:      

helo clienthostname.mydomain.com
250 clienthostname.mydomain.com Hello clienthostname.mydomain.com [129.159.231.54], pleased to meet you      

 mail from:myname@mydomain.com
250 2.1.0 myname@mydomain.com… Sender ok      

rcpt to:recepientname@recepientdomainname.com
250 2.1.5 recepientname@recepientdomainname.com… Recipient ok
data
354 Enter mail, end with “.” on a line by itself

       

subject: This is a test
to:recepientname@recepientdomainname.com
This contains the BODY of a test mail

.
250 2.0.0 m3L9aH0W018247 Message accepted for delivery
quit
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.   

 
                    1) Invoke /usr/lib/sendmail with the -d0.1 debug flags.     

Example:      

$ /usr/lib/sendmail -v -d0.1 < /dev/null
Version 8.13.8+Sun
 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
                USE_LDAP_INIT XDEBUG$ 
     

============ 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      6043  0.1  0.1 1280  968 console  S 18:18:03  0:00 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
  
for Solaris 8 and below :   

                     

                     # ps -ef | grep send
 
                     root   271     1  0   Mar 10 ?        0:01 /usr/lib/sendmail -bd -q15m 
                    # /usr/ucb/ps -auxwww | grep sendmail    
 
 
 
 

                     root       271  0.0  0.3 4288 1512 ?        S   Mar 10  0:00 sendmail:accepting connections     
 
 
 
 
 

b – Start the sendmail processFor Solaris 8:      

 #/usr/lib/sendmail -bd -q15m      

For Solaris 9:      

#/etc/rc2.d/S88sendmail start      

Or      

#/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[2853]: [ID 702911 mail.info] starting daemon (8.13.4+Sun): SMTP+queueing@00:15:00
Apr 30 10:37:40 blade8 sendmail[2856]: [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.       

    

click Here for Sendmail Troubleshooting – 2  

  

  

   

   

   

  

  

 

 

 

Ramdev

Ramdev

I have started unixadminschool.com ( aka gurkulindia.com) in 2009 as my own personal reference blog, and later sometime i have realized that my leanings might be helpful for other unixadmins if I manage my knowledge-base in more user friendly format. And the result is today's' unixadminschool.com. You can connect me at - https://www.linkedin.com/in/unixadminschool/

1 Response

  1. September 17, 2015

    […] Read – Troubleshooting Guide – 1 […]

What is in your mind, about this post ? Leave a Reply

Close
  Our next learning article is ready, subscribe it in your email

What is your Learning Goal for Next Six Months ? Talk to us