2015-08-28 38 views
1

最近,我删除了一个对应于smtp服务器的DNS A记录。原来DNS的conf是象下面这样:我们是否需要DNS中的stmp服务器的A和MX记录

mail.demo.com MX 192.168.3.3 
mail.demo.com A  192.168.3.3 

删除MX记录之后,我尝试Python脚本尝试连接到我的mail.demo.com。该脚本如下所示:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import smtplib 
from email.mime.text import MIMEText 


def send_mail(to_list,sub): 
    me = "demo<[email protected]>" 

    msg = MIMEText("") 
    msg['Subject'] = sub 
    msg['From'] = me 
    msg['To'] = ";".join(to_list) 

    try: 
     s = smtplib.SMTP() 
     s.connect("mail.demo.com") 
     s.sendmail(me, to_list, msg.as_string()) 
     s.close() 
     return True 
    except Exception, e: 
     print str(e) 
     return False 


if __name__ == '__main__': 
    if send_mail(["[email protected]"], "hello"): 
     print "success" 
    else: 
     print "fail" 

有些事情是错误的,与“没有地址与关联的主机”。 所以,我curous约:

  • 为什么我们需要A记录存在连接到mail.demo.com
  • 当我们实际使用的MX记录。

回答

1

MX记录包含两项数据:优先级号码和邮件服务器的域名。有人试图发送邮件将采用邮件服务器的域名,用它来查找IP地址,然后尝试连接到该IP地址。

192.168.3.3不是有效的域名。使用它来尝试查找IP地址失败,所以尝试传递邮件失败,因为缺少任何连接(有些传送程序可能会“嘿,这个名字看起来非常像IP地址,让我们给它一个去!“,但这不是你可以依赖的)。

你应该已经是一个MX记录在它,然后该名称用一个IP地址的A记录

相关问题