Welcome to WebmasterWorld Guest from 22.214.171.124
i was up all night trying to figure this out. after 2 days i'm turning to the community... here's the scenario.
virtual "private" server (shared sendmail config, but local sendmail.cf)
previously, email was hosted on the same box powering the webserver. when i ran form mail scripts for customer contacts (for example) the script would use sendmail to send off the customer's inquiry to the appropriate email address at my company. but effectively what was happening was sendmail was sending to itself. the mail was sent to the local domain (hostname for the server).
i've recently decided to host email on a remote box via a remote email hosting service. this means that i'd like sendmail to check the DNS MX record, locate the remote email host, and shoot the emails off to the other server. i've made the changes i think i need to make in the sendmail config (removed all domain names from the sendmail.cf). however, messages are STILL getting delivered to the local mailboxes. meanwhile, emails from REMOTE parties are going to the new email server.
customer support tells me that i do NOT need to restart sendmail (i cant anyway - its shared). he says the virtual configuration means it checks my sendmail.cf at every launch, so changes are immediate; according to all his suggestions, i'm doing everything "right".
DNS changes were made 24 hours ago, and the TTL for these records was set at 1 hour anyway, so the update should have been relatively quick. i do not appear to be receiving ANY remote mail to the "old" email server - local sendmail is the only one still delivering there. this suggests its not a DNS thing, but some sort of local "default" thing.
WHAT should i do to disable this local default? i'm stumped, and i've been digging and digging but cant find any straightforward answers to my scenario.
thanks in advance for any help!
You must restart sendmail always! A single sendmail process stays memory resident for all incoming mail (sendmail daemon). This process does not check for changes in your cf file but uses the copy stored in ram during startup. -- This may not the problem, just remember to always restart.
What could be the problem is cached records... restart dns and sendmail always.
Is your DNS on the domain host machine?? If not, then the new TTL settings are not a factor, the old TTL time is the issue. Did you check to make sure the secondary DNS is updated properly and no errors in the zone files?? This sounds like sendmail is not accepting the MX and just sending to the host address (A record). If you have an MX conflict or an address which does not fully qualify (fqdn) then this can happen in *nix machines. Did you run a NSLOOKUP from the local machine to see what comes back on your DNS settings? (your host can do this if you don't have telnet)
Is the domain set for your MX host defined as a CNAME or an A record... A record is best as sendmail can ignore cnames.
This can also be a config setting in the cf file also...too many to list but scan through it.
Though I bet by the time you read this the dns has propagated and your mail delivers ...
netcommr, thanks for your suggestions. as you mention, there really are a seemingly infinite number of things that could be involved.
i've narrowed it down to this so far: the virtmaps for mail routing on the subhosts seem to be overridding the MX settings (taking precedence) and keeping the mail local. i removed all virtmaps and mail to these remote subhost addresses at least seems to be working fine now. i havent confirmed that mail to local root domain addresses is working yet (but it isnt critical to my infrastructure). if thats the case, i'll probably try removing all local user accounts and seeing where that gets me... sorta a broad stroke solution, but i think it will probably work.
thanks to everyone who looked at this and gave it some thought.