首页 > 两台机器跑一样的python,结果却不同,我应该如何下手?

两台机器跑一样的python,结果却不同,我应该如何下手?

主管要求“看门狗不止要看门,还要在看门成功的同时发送邮件给开发人员”,而且必须使用原有的发送邮件的python脚本。这个脚本叫auto_email.py,具体的脚本内容如下:

#!/usr/bin/env python
import smtplib
import sys
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication

mailto_list=["开发人员们的邮箱"]
mail_host="公司的邮箱地址"
mail_user="发送人"
mail_pass="这里是密码"
mail_postfix="公司的postfix"
mail_sender="公司的报警专用邮箱"

def send_mail(sub, content):
    me=mail_sender
    msg = MIMEMultipart()
    msg['Subject'] = sub
    msg['From'] = me
    msg['To'] = ";".join(mailto_list)

    content1 = MIMEText(str(content), 'plain', 'utf-8')
    msg.attach(content1)

    try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pass)
        s.sendmail(me, mailto_list, msg.as_string())
        print('send sucess\n')
        s.close()
    except Exception as e: print(str(e))
if __name__=='__main__':
    send_mail(*sys.argv[1:])  

结果问题就出现了,这个脚本在跳板机上是可以使用的,我的命令语句是“python auto_mail.py 标题 内容",但是拿到测试环境里的很多机器却提示Connection unexpectedly closed,两台机器都是有外网权限的。请问我应该从哪里入手解决这个问题呢?是端口?还是别的什么?


分别在你的跳板机和测试环境里ping 你的mail_host

【热门文章】
【热门文章】