We help IT Professionals succeed at work.

mx record setup while using dyndns

illhelpu asked

I have set up a mail server and I can send out e-mails (via comcast relay). I cansend/recieve mail locally but when I try to send an e-mail from my yahoo account to my domain account I get this error from the mailer daemon:
Sorry, I couldn't find a mail exchanger or IP address. (#5.4.4)

I use dyndns since I have a dynamic IP. Is it asking me to fix the mx record in my dns server or in dyndns?
Watch Question

If your fully hosting your DNS with DynDNS it is requiring you to change the MX record there. Or if you're just using DynDNS as a name to redirect to your server and you have the DNS hosted on the server itself, you will need to update it there. Typically, this would be the 2nd part of what I said, since you said that you have dynamic IP, my guess is you're using DynDNS just to route traffic that goes to your DynDNS name to your IP address (and you have the DynDNS software on your server to keep your IP up to date on there).

I would update the MX record on the server itself.
Distinguished Expert 2019

What is the domain name that you are using for the email address?
The domain that you are using on your server does not have DNS records neither A nor MX.
Without the inforamtion on what the domain is that you are using as the sender of the email i.e. what is the domain that you have in the From: of the email message?
There is no way to suggest a fix.

Do you own your own domain?  If you do, add an MX record to it that points to your dyndns hostname.  It should look as follows:
yourdomain.com. 180 IN MX 20 your.dyndns.hostname.
Your mailer daemon is trying to do a dns lookup for an mx record for your domain. From a command prompt (Windows), type:
set querytype=mx

And you should get back a hostname which resolves to your dynamic address. I don't use dyndns, but I assume you will need to configure it to also advertise an mx record. maybe someoen else can enlighten us.


I did a test on my dns and got this:

CheckDNS.NET tests mail-servers  

Domain mydomain.com has only one mail-server    
Checking  mail server (PRI=10) mydomain.dyndns.org [71.1xx.xxx.33]     .....OK
Error  connecting to mail server mydomain.dyndns.org [71.1xx.xxx.33] port 25 :   timed out waiting for connection    
Some of  your MX do not work properly

From the sounds of it, you have your dns fully hosted with DynDNS then.. You will want to update your MX record on DynDNS.


When I did a nslookup I got an error saying the dns request timed out.


arnold: I do own the domain.
What does this mean? 180 IN MX 20
Well, that means dns is not setup correctly. What are your dns setings? You should have at least 1 ISP dns server in there.


Dns settings where? I am looking at settings on godaddy, dyndns, and on my dns server..
On the machine where you ran the nslookup command (the mailer daemon machine). Nslookup queries the list of dns servers configured for that device to get a response. The mailer daemon needs that information to try to send the email to the relevant server.
If you are using a mailer daemon on the inside of your network (guessing here) and you are saying that you have to use a Comcast relay for normal mail delivery, it may be that the daemon is trying to deliver directly (to the record retrieved as being the mx record) and it cannot. This might be introducing a red herring to your fault finding.


No, I can send and receive mail inside the domain fine, but when I try to send from my yahoo account I get the mailer daemon message.
To explain the basic process of a server sending mail:

The mail server processes a mail for delivery to x.domain
It checks to see if it has a mail relay setup for all mail to be sent to (for example a mail filter box).
If not, it will attempt direct delivery to the recipient host.
It uses a dns query to find an "mx" (mail exchanger" record) for the domain (or a list of them).
It normally gets back 1 or more host records, each which has a priority number.
It then uses dns once again to resolve the ip addresses of the host records specified in the mx records.
This IP address is where it will send mail destined for that domain.
It will try the lowest priotiry mx record first.

That is a simple "down and dirty" explanation that may help you and others.
Ok, if that is from Yahoo, then we are back to a straight dnydns mx configuration issue. Somebody else must know more about dyndns???

Without knowing your domain I can't check it. If you want to, email it to trackhappy_at_bigpond.com and I will look it up.
This is straight from the dyndns site:

Mail Routing: This sets the MX (Mail eXchanger) records for your host. You can learn more about MX records here.
¿My host will receive or reject mail itself: This is the default setting. Choose this if you have a mail server located at the network itself, or have no mail server at all. This creates no MX records. (According to RFCs, mail should be delivered directly to a host if no MX records exist, so no MX record is necessary in this case.)
¿My host and backup mail exchanger should be added to DNS: This will create two MX records for your host: a primary MX record set to the host itself, and a secondary MX record set to the Backup MX hostname field.
¿Specific mailserver will route all mail for my DynDNS host: This creates a single MX record set to the Mailserver Hostname field.

You should have selected the second or third option where mx records are created. The first option probably won't work as most anti-spam devices will check for a valid mx record.



I read that but I don't see where I can select that. I'm guessing that is for the paid account and I am using the free one?
I think you must have done it ok, as you have an mx record. The odd thing is that doing a lookup on your host pertaining to that record returns me an IP address of 10.0.0.xxx, which is in the private range and won't route.

Here is what I get back, anybody familiar with dyndns records???

mydomain.com MX preference = 10, mail exchanger = mydomain.dyndns.org

mydomin.dyndns.org internet address = 10.0.0.xxx


The 10.0.0.xxx address populated when I was messing around with things. I just changed it back to the ip from my isp.
Distinguished Expert 2019

To make things clear, could you post what the domain name is?

What you are telling us only lets us suggest what should be there without knowing what currently is there.  i.e. you have a domain that is domain.local  (internal domain) and is not publicly accessible.

You can use http://www.mxtoolbox.com/ to lookup your domain and see whether you have the records needed.
note that a hostname from Dyndns is not the same as owning a domain name.
The other issue is that your provider might be blocking inbound port 25 traffic.
I have been working in the background and can see the records as posted above, except there is now a valid Internet address specified.

At this stage, I can't ping or telnet on port 25 to the IP address specified in the record.

Can you check that you haev the necessary NAT's and rules incoming?

My test emails have not failed, which suggests it knows where to send them but they are in a queue as your server is not responding.
My mail delivery server is saying connection timeout. So I'd say the mx record and host are correct, now you have a local nat/rules issue.


Yeah,  maybe the firewall is blocking it somehow. let me check again.


I'm wondering if the NAT issue is with my router.

I did a self test in hmailserver (the mail server I'm using) and this is what I got..

Test: Collect server details
hMailServer version: hMailServer 5.3.2-B1769
Database type: MSSQL Compact

Test: Test IPv6
IPv6 support is available in operating system.

Test: Test outbound port
SMTP relayer is in use.
Trying to connect to host smtp.comcast.net...
Trying to connect to TCP/IP address xx.xx.xx.xxx on port 25.
Connected successfully.

Test: Test MX records
Trying to resolve MX records for mydomain.com...
Host name found: mydomain.dyndns.org
Host name found: mail.mydomain.com

Test: Test local connect
Connecting to TCP/IP address in MX records for local domain domain mydomain.com...
Trying to connect to host mydomain.dyndns.org...
Trying to connect to TCP/IP address 71.194.xxx.xxx on port 25.
ERROR: It was not possible to connect.
Trying to connect to host mail.mydomain.com...
Trying to connect to TCP/IP address 192.168.0.xx on port 25.
Connected successfully.

I am thinking that that is where the problem lies, but be careful relying on the test you just ran as a NAT from inside might be different to a NAT from outside depending on the device.

Ou should have:

1. NAT from outside address to mail server ip address on port 25
2. Allow Any to the NAT address on port 25 (on some devices, you also need from any to the inside address on 25).

Let me know when you have those sorted, but I will probably be off shortly. If you have firewall logs, hunt for trying to come in.


cool. Thank for all of your help. I'm going to bed for the night in a few minutes but I will be back on it in the morning.
You subscribe DynDNS service as you have Dynamic Public IP.

I assume that your ISP blocks port 25 (smtp). DYNDNS supports this issue by using different port number instead of 25- You may wnat to see the "Capabilities and Features" on this link.  http://www.dyndns.com/services/mailhop/

What you need:
Mailhop Relay- is for Incoming Mails
Mailhop Outboud- if for Outgoing mail (if your isp still blocks outgoing smtp 25)

After subcribing for the the above services, you need to configure your exchange server to change the default port# 25 to (10025, 2525, etc), http://www.dyndns.com/support/kb/mail_servers_and_mailhop_outbound.html

The link is not sufficient though, iam just giving the KB from DynDNS. Refer on this link for the complete configuration of your exchange- http://csipc.wordpress.com/2008/04/16/dyndns-mailhop-services/

On your exchange server, you need to install the DynDNS updater or your router should be configured
the same if supported.

On DynDNS, if they host your Public Domain Name Server and iam assuiming that your exchange is also hosted by them. With regards on MX record (ie. yourdomainname.com  is POINTING TO DynDNS mail server, that is, mx1.mailhop.org and mx2.mailhop.org). With regards on your website, if you are not hosting your website, i assume you are not, you may want to point the WWW record to IP address of web server whoever hosted your website.

Hope this help.


After getting the MX records straight, I found an error in my port forwarding on my gateway router. It's working now both inside and out.

Thanks for everyone's help.