Sendmail delay: 3 mins 11 secs... Every time.


 
Thread Tools Search this Thread
Special Forums UNIX and Linux Applications Sendmail delay: 3 mins 11 secs... Every time.
# 8  
Old 09-01-2017
I would suspect some issues in /etc/hosts or /etc/resolv.conf files.
/etc/resolv.conf less likely to be wrong due to being managed by smf in your release.

Check hosts file for syntax errors, post the content here is possible.
This User Gave Thanks to Peasant For This Post:
# 9  
Old 09-01-2017
I guess the smarthost in /etc/mail/sendmail.cf (and/or submit.cf) is mailhost.fqdn.uk.
Check its DNS resolution with
Code:
nslookup -q=mx mailhost.fqdn.uk

Does it list many hosts? Are some of them not reachable on port 25?
What is the hosts line in /etc/nsswitch.conf?

Last edited by MadeInGermany; 09-01-2017 at 04:06 PM.. Reason: nsswitch not resolv
This User Gave Thanks to MadeInGermany For This Post:
# 10  
Old 09-04-2017
Thanks hicksd8, but that has already been set as suggested:
Code:
# grep ^DS sendmail.cf submit.cf
sendmail.cf:DS
submit.cf:DS

---------- Post updated at 13:43 ---------- Previous update was at 10:20 ----------

I've found out something that may be significant, but I'm not sure what to do with it:
"mailhost" is an alias in /etc/hosts for the old mailserver which is still active, but the preferred mailserver is "outlook", which is 3 load-balanced servers:
Code:
# nslookup outlook.fqdn.uk
Server:         10.10.0.35
Address:        10.10.0.35#53

Name:   outlook.fqdn.uk
Address: 10.10.3.47
Name:   outlook.fqdn.uk
Address: 10.10.3.48
Name:   outlook.fqdn.uk
Address: 10.10.0.171

"SVP-MAIL01" is one of those load-balanced mailservers, which mail gets forwarded to from the old mailhost in the syslog snippet below:
Code:
Sep  4 11:11:56 myldom sendmail[28520]: [ID 801593 mail.info] v84ABuq7028520: from=myuser, size=108, class=0, nrcpts=1, msgid=<201709041011.v84ABuq7028520@myldom.fqdn.uk>, relay=myuser@localhost
Sep  4 11:11:56 myldom sendmail[28521]: [ID 801593 mail.info] v84ABubQ028521: from=<myuser@myldom.fqdn.uk>, size=450, class=0, nrcpts=1, msgid=<201709041011.v84ABuq7028520@myldom.fqdn.uk>, proto=ESMTP, daemon=MTA-v4, relay=localhost.fqdn.uk [127.0.0.1]
Sep  4 11:11:56 myldom sendmail[28520]: [ID 801593 mail.info] v84ABuq7028520: to=my.name@company.uk, ctladdr=myuser (111/100), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30108, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (v84ABubQ028521 Message accepted for delivery)
Sep  4 11:15:07 myldom sendmail[28523]: [ID 702911 mail.info] STARTTLS=client, relay=mailhost.fqdn.uk, version=TLSv1.2, verify=FAIL, cipher=ECDHE-RSA-AES256-SHA384, bits=256/256
Sep  4 11:15:07 myldom sendmail[28523]: [ID 801593 mail.info] v84ABubQ028521: to=<my.name@company.uk>, ctladdr=<myuser@myldom.fqdn.uk> (111/100), delay=00:03:11, xdelay=00:03:11, mailer=esmtp, pri=120450, relay=mailhost.fqdn.uk [10.10.0.98], dsn=2.0.0, stat=Sent (<201709041011.v84ABuq7028520@myldom.fqdn.uk> [InternalId=80698140526752, Hostname=SVP-MAIL01.fqdn.uk] Queued mail for delivery)

Obviously I can't put them all in /etc/hosts with the same address, but when I took the "mailhost" line out, it failed to find any mailserver at all.
How do I tell sendmail that the mailhost is "outlook.fqdn.uk" without putting only one address in /etc/hosts?

Many thanks

---------- Post updated at 13:45 ---------- Previous update was at 13:43 ----------

P.S.
Code:
# grep hosts /etc/nsswitch.conf
hosts:  files dns

---------- Post updated at 13:46 ---------- Previous update was at 13:45 ----------

PPS: I'm not sure if this is what you meant, but...
Quote:
# grep smarthost sendmail.cf submit.cf
sendmail.cf:R$* < @ [ $+ ] : > $* $#esmtp $@ [$2] $: $1 < @ [$2] > $3 no smarthost: send
sendmail.cf:R$* < @ [ $+ ] : $- : $*> $* $#$3 $@ $4 $: $1 < @ [$2] > $5 smarthost with mailer
sendmail.cf:R$* < @ [ $+ ] : $+ > $* $#esmtp $@ $3 $: $1 < @ [$2] > $4 smarthost without mailer
sendmail.cf:# pass names that still have a host to a smarthost (if defined)
sendmail.cf:R$* < @ $* > $* $: $>MailerToTriple < $S > $1 < @ $2 > $3 glue on smarthost name
submit.cf:R$* < @ [ $+ ] : > $* $#esmtp $@ [$2] $: $1 < @ [$2] > $3 no smarthost: send
submit.cf:R$* < @ [ $+ ] : $- : $*> $* $#$3 $@ $4 $: $1 < @ [$2] > $5 smarthost with mailer
submit.cf:R$* < @ [ $+ ] : $+ > $* $#esmtp $@ $3 $: $1 < @ [$2] > $4 smarthost without mailer
submit.cf:# pass names that still have a host to a smarthost (if defined)
submit.cf:R$* < @ $* > $* $: $>MailerToTriple < $S > $1 < @ $2 > $3 glue on smarthost name


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!


---------- Post updated at 16:07 ---------- Previous update was at 13:46 ----------

OK, Having a better idea of what I'm looking for now, I found the solution - it's just the implementation I'm unsure of now.

I put the correct mailhost name in sendmail.cf like so:
Code:
DSoutlook.fqdn.uk

then restarted sendmail and emails get delivered in just a few seconds. Smilie

My last question on this is...
I need to add it to sendmail.cf via editing sendmail.mc and running make on it, but what's the syntax for sendmail.mc?
Do I just add the DS line as I want it to appear in sendmail.cf as it is above?

Many thanks

Last edited by RudiC; 09-04-2017 at 10:45 AM.. Reason: Added CODE tags.
# 11  
Old 09-04-2017
With the smarthost sendmail does an MX lookup first, like
Code:
nslookup -q=mx outlook.fqdn.uk

If there is no MX it falls back to gethostbyname lookup, like
Code:
getent hosts outlook.fqdn.uk

The second goes to /etc/inet/hosts first (ensure that /etc/hosts and /etc/inet/ipnodes are symlinks to it!)
I have told you to try
Code:
nslookup -q=mx mailhost.fqdn.uk

because mailhost is a more standard name for an MX, and MX (mail exchanger records) is the standard for SMTP mailers (is a list of mail servers with a weight for true load balancing). I wonder why you ignore the MX and try to emulate load balancing with a number of IP addresses.
If you want to try sendmail.mc (which is the correct way according to sendmail.org but might be more hassle than a direct change in sendmail.cf), there is a README somewhere in /usr/lib/mail/
and there is also an article in docs.oracle.com.
This User Gave Thanks to MadeInGermany For This Post:
# 12  
Old 09-05-2017
Thanks MadeinGermany,
I have fixed it by editing sendmail.mc and making a new sendmail.cf : Just add the DS line as you want it to appear in sendmail.cf
I didn't set this up (I'm fairly new here) and since the Exchange server is a Windows server, it's looked after by the Windows team.
I couldn't put multiple entries in /etc/hosts for outlook.fqdn.uk with multiple IP addresses, which is why I needed another way to tell sendmail where the mail server was.
Code:
# nslookup -q=mx mailhost.fqdn.uk
Server:         10.10.0.35
Address:        10.10.0.35#53

*** Can't find mailhost.fqdn.uk: No answer

# nslookup -q=mx outlook.fqdn.uk
Server:         10.10.0.35
Address:        10.10.0.35#53

*** Can't find outlook.fqdn.uk: No answer

I found the procedure on an oracle docs webpage (I'm not allowed to post URLs Smilie ) but I wouldn't have found it without the hints and tips in this thread.
Thanks to all who contributed. Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Sendmail delaying mails for 45 mins

Hi, I'm trying to send out mails from my server using mailx, however everytime I send one, it appears to be held in the /var/spool/mqueue for 44 mins before being sent. I'm quite new to sendmail, so don't really know where to start with this /var/log/syslog displays the following: Dec 16... (4 Replies)
Discussion started by: badoshi
4 Replies

2. Shell Programming and Scripting

How to get past 30 mins time in Solaris?

Hi guys, could you help to find a way to get the past 30 mins time in solaris. version: bash-3.00# uname -a SunOS solaris 5.10 Generic_142910-17 i86pc i386 i86pc I had tried the following ways, it works fine in GNU Linux, but doesn't work in Solaris. # date Tue Apr 2 01:01:49 CST... (4 Replies)
Discussion started by: ambious
4 Replies

3. Red Hat

Delay in sending email to-from localhost in Sendmail

Hi Friends, I am very much new to sendmail or any other mta. I just installed sendmail 8.14 on my rhel6 machine. I was trying to send email to local user but after entering the message when i press CTRL-D it simply hangs. I also tried sending email via mutt but again mutt also hangs. It sends... (0 Replies)
Discussion started by: Rohit Bhanot
0 Replies

4. Solaris

Login delay after entering id (40 secs) same after entering pw

Hi all, I have just installed Solaris 10 on an old Fujitsu Primepower 650 which has been wiped clean. I haven't installed anything apart from the OS yet, so the machine is 99% idle. I get long delays when logging in, first after entering the id then another long delay after entering a valid... (8 Replies)
Discussion started by: longjon
8 Replies

5. UNIX for Advanced & Expert Users

getting time mins ago

Hi I trying to get 5 mins ago time using below command echo `date +%R -d "1 min ago"` but this is giving only current time. Please help (6 Replies)
Discussion started by: cka
6 Replies

6. Shell Programming and Scripting

how to calculate the time 10 mins ago?? unix

Hi guys, Im trying to subtract time in ksh script. i.e. basically im querying a database and i want to get the time 10mins before hand..(from) in ksh CurrMin=$(date "+%M") from=`expr $CurrMin - 10` to=$CurrMin however if i run this i say at 2 or 3 mins past the hour, i.e.... (7 Replies)
Discussion started by: k00061804
7 Replies

7. Shell Programming and Scripting

Time delay for awk

I have an awk script, and want to introduce a time delay. How can I do this? (3 Replies)
Discussion started by: kristinu
3 Replies

8. Shell Programming and Scripting

Calculating delay time - bash

Hi, I am having the following problem. test > hourOfDay=06 ; delayTime=$(((9-$hourOfDay)*60)) ; echo $delayTime 180 test > hourOfDay=07 ; delayTime=$(((9-$hourOfDay)*60)) ; echo $delayTime 120 test > hourOfDay=08 ; delayTime=$(((9-$hourOfDay)*60)) ; echo $delayTime bash: (9-08: value... (5 Replies)
Discussion started by: jbsimon000
5 Replies

9. Shell Programming and Scripting

ls -e to find out File modification time in secs

Hi All, I would like to know the file modification time till seconds in Unix. So I tried ls -e and it worked fine. This Solaris 5.10 -rw-rw-r-- 1 test admin 22 Sep 12 11:01:37 2008 test_message But I am not able to run the same command in SOlaris 5.6 and also in AIX/HP Is there... (3 Replies)
Discussion started by: rahulkav
3 Replies

10. Solaris

lock time delay

I have a Sol system. The lock timeout is default 15 minutes. I tried to make it longer but cannot by lock -t timeout Anyon can tell me the cmd in solai for this please. A thank in advance (2 Replies)
Discussion started by: part-time-user
2 Replies
Login or Register to Ask a Question