2015-08-28 74 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記錄

相關問題