[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mail does not work



    "Sandip" == Sandip P Deshmukh <Sandip> writes:

    Sandip> Shyamal Prasad wrote:
    >> Did you chose smarthost or not? If you picked smarthost, what
    >> is your smarthost?

    Sandip> oh frankly, i did not know what does 'smarthost'
    Sandip> mean. still took a chance and said yes to it. my smarthost
    Sandip> is ip address of nt server.

    Sandip> my entry in /etc/exim/exim.conf is:

    Sandip> route_list = "* 192.168.100.1 bydns_a"

    Sandip> end

    Sandip> looks similar to yours. except that i have an ip adderss
    Sandip> where you had server name. should i put my machine's ip
    Sandip> address as smarthost?

Sandip,

Since you want to send mail *directly* to the outside world, and not
to the NT machine I suggest you put the *hostname* of the external
SMTP server here instead of the IP address above. I am assuming of
course that your location has an ISP that will accept SMTP connections
from you (or perhaps you have a set up is more complicated, but you
need to tell us).

The bydns_a word should have clued you in. Do you have a DNS entry for
192.168.100.1? Specifically, an A record? Probably not!

Look in /var/logs/exim/* and see what happens when you send mail (BTW
this is a very beneficial way to debug exim). I am guessing exim will
try to get a DNS A record for the hostname "192.168.100.1", fail, and
drop the mail. Running "exim -bp" should show you all the mails that
did not get sent.

Section 28.3 of the exim specification document says:

"Options can be present only if there is a host list. They are a
sequence of words, but in practice no more than two are ever
present. One of the words can be the name of one of the configured
transports, and this overrides the transport option on the router for
this particular routing rule only. The other word (if present)
specifies how the IP addresses of the hosts in the host list are to be
found:

    * byname: use gethostbyname(), or use literal IP addresses if
present. Literal IP addresses are written without any surrounding
square brackets. 
    * bydns: use the DNS, doing the full MX and A record processing.
    * bydns_a: look up A records for the host(s) in the DNS; fail if
there are none. 
    * bydns_mx: look up MX records for the host(s) in the DNS; fail if
there are none. 

"The qualify_single and search_parents options apply to any DNS
lookups that are done. If no IP address for a host can be found, what
happens is controlled by the host_find_failed option."

So it sounds like you need to change bydns_a to byname for your set up
to work.

I hope you get this working. Let us know! BTW, I am *not* an exim
expert, until this morning I did not know how to enter an IP address
in the route_list. So don't complain too loudly, I'm only trying to
help ;-)

Cheers!
Shyamal



Reply to: