首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何在Python中组合这两段代码呢?

问我如何在Python中组合这两段代码呢?
EN

Stack Overflow用户
提问于 2013-11-06 10:54:07
回答 1查看 127关注 0票数 2

我想找到一种方法将这两段代码组合成一个函数,每当某个服务器宕机(即服务器不再接收ping)时,它就会给我发一封电子邮件。我该如何使用这两个代码段来做到这一点?

代码语言:javascript
复制
import smtplib
import subprocess
##Ping
    hostname = "x.x.x.x"
    output = subprocess.Popen(["ping.exe",hostname],stdout = subprocess.PIPE).communicate()[0]

    print(output)

    if ('unreachable' in output):
        print("Offline")

##Email
    fromaddr = 'someone@gmail.com'
    toaddrs  = 'somebody@somewhere.com'
    msg = 'Subject: %s\n\n%s' % ('SERVER STATUS', 'Server is Down')
    # Login info
    username = 'user'
    password = 'pass'

    # Outgoing SMTP
    server = smtplib.SMTP('smtp.gmail.com:587')
    server.starttls()
    server.login(username,password)
    server.sendmail(fromaddr, toaddrs, msg,)
    server.quit()
EN

回答 1

Stack Overflow用户

发布于 2013-11-06 11:12:18

只需将其包含在您的if块中:

代码语言:javascript
复制
import smtplib
import subprocess
##Ping
    hostname = "x.x.x.x"
    output = subprocess.Popen(["ping.exe",hostname],stdout = subprocess.PIPE).communicate()[0]

    print(output)

    if ('unreachable' in output):
        print("Offline")
        fromaddr = 'someone@gmail.com'
        toaddrs  = 'somebody@somewhere.com'
        msg = 'Subject: %s\n\n%s' % ('SERVER STATUS', 'Server is Down')
        # Login info
        username = 'user'
        password = 'pass'

        # Outgoing SMTP
        server = smtplib.SMTP('smtp.gmail.com:587')
        server.starttls()
        server.login(username,password)
        server.sendmail(fromaddr, toaddrs, msg,)
        server.quit()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19803218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档