Не пинайте, я только учусь. Бьюсь головой уже 3 часа, без внешней помощи буду биться еще долго)
#! /usr/bin/env python
import dns.resolver
domen = open('./day.domen', 'r')
for line in domen:
print line
answers = dns.resolver.query(line, 'MX')
for rdata in answers:
print rdata.exchange
domen.close()
При выполнении:
skv:/mnt/mail/root/python# ./catch_mx.py
'domen.ru'
Traceback (most recent call last):
File "./catch_mx.py", line 7, in <module>
answers = dns.resolver.query(line, 'MX')
File "/usr/lib/python2.5/site-packages/dns/resolver.py", line 719, in query
return get_default_resolver().query(qname, rdtype, rdclass, tcp)
File "/usr/lib/python2.5/site-packages/dns/resolver.py", line 663, in query
raise NXDOMAIN
dns.resolver.NXDOMAIN
Как нужно псать чтобы подставлялась переменная. Я так понял проблема в том что выполняеться:
answers = dns.resolver.query(line, 'MX')
А нужно:
answers = dns.resolver.query('domen.ru', 'MX')
Хотя ipython первый вариант работает.