Page 1 of 1

smarthost not working

Posted: Tue Apr 18, 2006 9:14 am
by jason-meers
Hi all,

I smarthost all of my external traffic through another server which acts as a "mail-hub" for various scanning, logging, archiving etc..

After a recent upgrade to Scalix version 10.0.01 (new install on a new box), I noticed that my smarthost was no longer working. Messaages were being delivered but directly rather than through my smarthost in the DMZ.

my /etc/mail/sendmail.cf contains the correct entry such as

DShostname.smarthost.com
(where hostname.smarthost.com is the FQDN of my smarthost)

The smarthost is resolvable, pingable and "send-an-email-via-telnet-able" from my scalix server but scalix/sendmail just wont use it.

Question 1 - setting up a smarthost)
What is the correct way to add the smarthost facility to Scalix V10?

Question 2 - seeing what sendmail is doing)
If scalix were sat on top of Exim instead of Sendmail I could type:

exim -bt user@example.com <enter>

to get a reply something like

user1@example.com
router = external_domains, transport = remote_smtp
host mail19.messagelabs.com [212.125.75.19]
host mail19.messagelabs.com [193.109.254.3]

To show me which host delivery would used to deliver this message.

What is the equivalent Sendmail -bt syntax to achieve this so I can can see where Sendmail THINKS it should be delivering mail too.

Thanks
Jason Meers

Posted: Tue Apr 18, 2006 10:05 am
by ScalixSupport
The command is

Code: Select all

sendmail -bt
followed by

Code: Select all

3,0 recipient@domain.com
which should give you something similar to

Code: Select all

> 3,0 recipient@domain.com
canonify           input: recipient @ domain . com
Canonify2          input: recipient < @ domain . com >
Canonify2        returns: recipient < @ domain . com . >
canonify         returns: recipient < @ domain . com . >
parse              input: recipient < @ domain . com . >
Parse0             input: recipient < @ domain . com . >
Parse0           returns: recipient < @ domain . com . >
ParseLocal         input: recipient < @ domain . com . >
ParseLocal       returns: recipient < @ domain . com . >
Parse1             input: recipient < @ domain . com . >
Mailertable        input: < domain . com > recipient < @ domain . com . >
Mailertable        input: domain . < com > recipient < @ domain . com . >
Mailertable      returns: recipient < @ domain . com . >
Mailertable      returns: recipient < @ domain . com . >
MailerToTriple     input: < smarthost . com > recipient < @ domain . com . >
MailerToTriple   returns: $# relay $@ smarthost . com $: recipient < @ domain . com . >
Parse1           returns: $# relay $@ smarthost . com $: recipient < @ domain . com . >
parse            returns: $# relay $@ smarthost . com $: recipient < @ domain . com . >


Hit Ctrl-D to exit. The important thing is to see relay rather than esmtp.

Cheers

Dave

sendmail -bt and logs inconsitent about the smarthost to use

Posted: Tue Apr 18, 2006 11:45 am
by jason-meers
Hi,

using the sendmail -bt comand shows the correct smarthost to use, the logs however show that sendmail is actually using a different smarthost than the -bt command returned.

Apr 18 16:21:54 scalix sendmail[17194]: k3IFLrML017190: to=<abcdefg@lycos.co.uk>, ctladdr=<root@FQDN.co.uk> (0/0), delay=00:00:01, xdelay=00:00:00, mailer=relay, pri=120380, relay=mail19.messagelabs.com. [193.109.254.3], dsn=2.0.0, stat=Sent (ok 1145373714 qp 27685 server-12.tower-19.messagelabs.com!1145373714!38795276!1)

mail19.messagelabs.co.uk was my previous smarthost, but I replaced it with my current one months ago.

The install was a new install on new hardware but installed over a copy of my previous /var/opt/scalix directories. The upgarde went fine.

Has something been remebered form a previous installation.

How do I fix this cleanly without risking downtime?

Thanks
Jason Meers

Posted: Tue Apr 18, 2006 12:50 pm
by ScalixSupport
Have you restarted sendmail since making the change to sendmail.cf for your smarthost ?

Cheers

Dave

Yes, restarted sendmail

Posted: Tue Apr 18, 2006 12:57 pm
by jason-meers
Yes I've restarted sendmail.

I don have a submit.cf with no DS string, but it still doesn't explain where the mail19.messagelabs.com relay is coming from.

Thanks
Jason Meers

Solved (sort of)

Posted: Tue Apr 18, 2006 1:02 pm
by jason-meers
It works now with the following setting:

DSesmtp:[11.22.33.44]

where 11.22.33.44 is the literal IP Address of my smarthost

Thanks
Jason Meers

Posted: Tue Apr 18, 2006 1:06 pm
by ScalixSupport
Can you run the command:

Code: Select all

host -t mx smarthost.domain.com


Does this return MX records for that domain ?

Cheers

Dave

host -t mx results

Posted: Tue Apr 18, 2006 2:58 pm
by jason-meers
the domain used in the FQDN of my scalix server resolves to:

scalix-server mail is handled by 20 relay2.star.co.uk.
scalix-server mail is handled by 10 relay.star.co.uk.

but almost every other e-mail domain hosted by the box resolves to:

...mail is handled by 20 mail14.messagelabs.com.
...mail is handled by 10 mail19.messagelabs.com.

What do you think is the problem?

Thanks
Jason Meers

Posted: Thu Jul 27, 2006 5:56 am
by hydrospace
Hi there,

we encountered the same problem with a clients Smarthost provider. Here the normal mail handling server is post.strato.de So we added this as a smart host. But nothing worked.. So we changed to the ip address and sendmail -bt showed us relaying via smarthost. So then we discovered via host -t mx post.strato.de that no mx record will be resolved so we decided to change it to strato.de

As mx records may be changed we did not felt very comfortable with this. So searching around we found out the follwoing:

sendmail.cf:

DS[post.strato.de] works quite good as sendmail will use it anyway...

Stefan

Posted: Mon Oct 15, 2007 10:30 am
by mopati
Hello,

have problems with the smarthost too,

sendmail -bt
> 3,0 recipient@domain.com
canonify input: recipient @ domain . com
Canonify2 input: recipient < @ domain . com >
Canonify2 returns: recipient < @ domain . com . >
canonify returns: recipient < @ domain . com . >
parse input: recipient < @ domain . com . >
Parse0 input: recipient < @ domain . com . >
Parse0 returns: recipient < @ domain . com . >
ParseLocal input: recipient < @ domain . com . >
ParseLocal returns: recipient < @ domain . com . >
Parse1 input: recipient < @ domain . com . >
Mailertable input: < domain . com > recipient < @ domain . com . >
Mailertable input: domain . < com > recipient < @ domain . com . >
Mailertable returns: recipient < @ domain . com . >
Mailertable returns: recipient < @ domain . com . >
MailerToTriple input: < smtp: smarthost . com > recipient < @ domain . com . >
MailerToTriple returns: $# smtp $@ smarthost . com $: recipient < @ domain . com . >
Parse1 returns: $# smtp $@ smarthost . com $: recipient < @ domain . com . >
parse returns: $# smtp $@ smarthost . com $: recipient < @ domain . com . >


Is the smtp right in MailerToTriple or parse? Should be relay, or?
How can i fix it?

regards
Marco

Posted: Fri Nov 09, 2007 9:08 am
by JasonWarren
Hi,
Could anyone point me to a 'how to' on setting up smarthosting via an ISP`s relay server for a Scalix 10 install. Any help would be appreciated because our IP is classed as Dynamic under Ripe rules and therefore are experiencing issues with relaying mail to AOL for example.

Jason

Re: Solved (sort of)

Posted: Sun Dec 09, 2007 7:13 am
by merlin88
jason-meers wrote:It works now with the following setting:

DSesmtp:[11.22.33.44]

where 11.22.33.44 is the literal IP Address of my smarthost

Thanks
Jason Meers


Thank you jason, you saved my day! After giving our mail server / smarthost an internal and external address without NAT, sendmail /scalix stopped sending mails. The log showed, the system was using the external address, which was not working internaly. Secondly the system doesn't give a mx record back. But with your setting, it's working again.