1

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 [email protected] < testmessage 
[email protected]... queued
[(root)/var/adm]$ /usr/ucb/mail -v [email protected]
Subject: Test message
Here is a test message
.
EOT
[(root)/var/adm]$ [email protected]... 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 '[email protected]' 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.

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

4 Answers 4

0

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?

1
  • 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. Jan 9, 2012 at 23:06
0

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.

1
  • 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, 2012 at 6:37
0

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 
-1

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.

5
  • Yup, it's running. Tried that already. Even restarted it. Jan 9, 2012 at 23:28
  • Can you telnet netcool1 25 ? Does it connect and give you the sendmail banner?
    – adamo
    Jan 10, 2012 at 6:59
  • Could've sworn I tried that. No, it has a connection refused. Added more info above. Jan 10, 2012 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, 2012 at 19:41
  • Yah, I tried grepping for ':25' and '*.25', and neither returned anything. Yet, I can see the sendmail processes under 'ps'. Jan 10, 2012 at 20:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .