diff --git a/firewall/fw.py b/firewall/fw.py
index 05fd0a5..a9aa547 100644
--- a/firewall/fw.py
+++ b/firewall/fw.py
@@ -370,6 +370,9 @@ def dns():
             DNS.append("&%s::%s:%s" % (d['name'], d['address'], d['ttl']))
         elif d['type'] == 'CNAME':
             DNS.append("C%s:%s:%s" % (d['name'], d['address'], d['ttl']))
+        elif d['type'] == 'MX':
+            mx = d['address'].split(':', 2)
+            DNS.append("@%(fqdn)s::%(mx)s:%(dist)s:%(ttl)s" % (d['name'], mx[1], mx[0], d['ttl']))
 
     process = subprocess.Popen(['/usr/bin/ssh', 'tinydns@%s' % settings['dns_hostname']], shell=False, stdin=subprocess.PIPE)
     process.communicate("\n".join(DNS)+"\n")