我们是否需要DNS中stmp服务器的和MX记录

我们是否需要DNS中stmp服务器的和MX记录,dns,Dns,最近,我删除了与smtp服务器对应的DNS a记录。原始DNS配置如下所示: mail.demo.com MX 192.168.3.3 mail.demo.com A 192.168.3.3 #!/usr/bin/env python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText def send_mail(to_list,sub): me = "d

最近,我删除了与smtp服务器对应的DNS a记录。原始DNS配置如下所示:

mail.demo.com    MX    192.168.3.3
mail.demo.com    A     192.168.3.3
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import smtplib
from email.mime.text import MIMEText


def send_mail(to_list,sub):
    me = "demo<demo@localhost>"

    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(["jack@mail.demo.com"], "hello"):
        print "success"
    else:
        print "fail"
删除MX记录后,我尝试使用Python脚本连接到我的mail.demo.com。脚本如下所示:

mail.demo.com    MX    192.168.3.3
mail.demo.com    A     192.168.3.3
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import smtplib
from email.mime.text import MIMEText


def send_mail(to_list,sub):
    me = "demo<demo@localhost>"

    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(["jack@mail.demo.com"], "hello"):
        print "success"
    else:
        print "fail"
#/usr/bin/env python
#-*-编码:utf-8-*-
导入smtplib
从email.mime.text导入MIMEText
def发送邮件(收件人列表,sub):
me=“演示”
msg=MIMEText(“”)
msg['Subject']=sub
msg['From']=我
msg['To']=“;”。加入(到列表)
尝试:
s=smtplib.SMTP()
s、 连接(“mail.demo.com”)
s、 sendmail(我,收件人列表,msg.as\u string())
s、 关闭()
返回真值
除例外情况外,e:
打印str(e)
返回错误
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
如果发送邮件([”jack@mail.demo.com“],“你好”):
打印“成功”
其他:
打印“失败”
问题出在“没有关联主机的地址”。 所以,我很担心:

  • 为什么我们需要A记录才能连接到mail.demo.com
  • 当我们实际使用MX记录时

MX记录包含两条数据:优先级号和邮件服务器的域名。试图传递邮件的人将获取邮件服务器的域名,使用它查找IP地址,然后尝试连接到该IP地址

192.168.3.3
不是有效的域名。使用它来查找IP地址失败,因此,由于缺少任何连接,发送邮件的尝试失败(一些发送程序可能会说“嘿,这个名称看起来非常像IP地址,让我们试试吧!”,但这不是你可以依赖的东西)

您应该有一个包含名称的MX记录,然后是包含IP地址的该名称的a记录