两台机器跑一样的python,结果却不同,我应该如何下手?
ringa_lee
ringa_lee 2017-04-18 09:25:36
[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,两台机器都是有外网权限的。请问我应该从哪里入手解决这个问题呢?是端口?还是别的什么?

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
阿神

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号