Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a sendmail server on a Solaris 10 server that's stopped working. I can't seem to find anything about failed messages in /var/adm/sendmail. Here's what I'm seeing when I try to debug:

[(root)/var/adm]$ sendmail -v me@myemail.com < testmessage 
me@myemail.com... queued
[(root)/var/adm]$ /usr/ucb/mail -v me@myemail.com
Subject: Test message
Here is a test message
.
EOT
[(root)/var/adm]$ me@myemail.com... queued
[(root)/var/adm]$ mailq
/var/spool/mqueue is empty
    Total requests: 0

So, it doesn't look like it's doing anything. Sometimes when I try the debug, I get a '127.0.0.1 Connection Refused' back, but it doesn't do it constantly. Note: I've substituted my personal gmail address with 'me@myemail.com' above. There's no procmail or anything set up for this address, and I am continually checking the Spam folder.

Any other things I can try to figure out why this isn't working?

Edit: Output of mailq -C includes lines and lines of this:

q0AFMJwG026997X    1629 Tue Jan 10 10:22 MAILER-DAEMON
             (Deferred: Connection refused by [127.0.0.1])

Could have sworn I tried this yesterday, but neither telnetting to localhost 25 from the machine nor telnetting to the machine from my desktop works:

[(root)/]$ telnet 127.0.0.1 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
[(root)/]$ 

and

[~]$ telnet 192.168.129.50 25
Trying 192.168.129.50...
telnet: connect to address 192.168.129.50: Connection refused
telnet: Unable to connect to remote host

Sendmail is running:

[(root)/]$ ps -ef |grep sendmail
smmsp 18616     1   0 16:22:18 ?           0:00 /usr/lib/sendmail -Ac -q15m
root 18614     1   0 16:22:18 ?           0:03 /usr/lib/sendmail -bd -q15m

But I don't see it listening on port 25 with 'netstat -an'.

EDIT: Thank you all for sticking around and helping. I have sendmail listening now on port 25 (it was refusing due to the high load average and the 'QueueLA' and 'RefuseLA' values). I can telnet to port 25 now and send email using SMTP commands. But, any mail I try to send with sendmail or /usr/ucb/mail still gets queued and disappears. What else do I need to check?

EDIT: I'm going to go ahead and close this, because I've moved on to a new set of problems now. The QueueLA and RefuseLA settings helped sendmail get up and running on port 25, but now I'm having a queueing issue. I've opened a new question here.

share|improve this question
    
Have you checked /var/log/syslog? Sendmail on Solaris logs to a different location than most of the rest of the system. –  James O'Gorman Jan 9 '12 at 22:43
    
Nothing in /var/log/syslog. It hasn't been updated for days. –  coding_hero Jan 9 '12 at 23:04
    
If /etc/mail/submit.cf exists, what is the output of mailq -C /etc/mail/submit.cf ? –  adamo Jan 10 '12 at 6:57
    
Good debugging step, that's what I was looking for. Added output above. –  coding_hero Jan 10 '12 at 16:17
add comment

4 Answers

So sendmail was really fast between sending the mail and issuing mailq, right? You executed commands prove nothing and deny nothing. The only thing that would work as evidence is the logfile, a tcpdump of the network traffic or something similar that shows the sending process.

On the other hand "stopped working" means it worked before. So what changed between then and now?

share|improve this answer
    
I'm not sure when it stopped working. We changed mail hosts, but it doesn't seem to use that relay (at least, I can't find it in the config). Is there a way to get better logging information out of either mail or sendmail? Can I have it skip the queue? I was looking for debug info that looks like this. –  coding_hero Jan 9 '12 at 23:06
add comment

Without any logs or other evidence....I'd say that your sendmail process is not working or not enabled for execution due to solaris 10 configuration.

You could see if there is a process is running using something like ps -aef and looking for the sendmail processes.

share|improve this answer
    
Yup, it's running. Tried that already. Even restarted it. –  coding_hero Jan 9 '12 at 23:28
    
Can you telnet netcool1 25 ? Does it connect and give you the sendmail banner? –  adamo Jan 10 '12 at 6:59
    
Could've sworn I tried that. No, it has a connection refused. Added more info above. –  coding_hero Jan 10 '12 at 16:17
    
Rather than the 'telnet' trick, how about netstat -ltn | grep ':25'? That will tell you if sendmail is really listening. –  Magellan Jan 10 '12 at 19:41
    
Yah, I tried grepping for ':25' and '*.25', and neither returned anything. Yet, I can see the sendmail processes under 'ps'. –  coding_hero Jan 10 '12 at 20:29
add comment
up vote 0 down vote accepted

QueueLA and RefuseLA values were too low. Raising those brought sendmail back up on port 25, but I'm having a different problem now. Here's a question over the next problem I'm having.

share|improve this answer
    
When you are having problems with the load averages and observe that mail is queued by the process that is running submit.cf, it is a good idea to swap the QueueLA and RefuseLA values. This is a trick found in "Sendmail Theory and Practice" and you can read a bit more here –  adamo Jan 12 '12 at 6:37
add comment

Another tip is to see if the sendmail services are enabled, although the two sendmail processes already are running:

% svcs -a | grep sendmail
online         20:47:39 svc:/network/smtp:sendmail
online         20:47:59 svc:/network/sendmail-client:default

If they NOT "online" try:

% svcadm enable smtp:sendmail
% svcadm  enable sendmail-client:default

Now you should be able to do:

% telnet localhost 25
QUIT 
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.