最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)自動(dòng)發(fā)送報(bào)警監(jiān)控郵件

 更新時(shí)間:2018年06月21日 09:37:57   作者:djd已經(jīng)存在  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動(dòng)發(fā)送報(bào)警監(jiān)控郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python自動(dòng)發(fā)送報(bào)警監(jiān)控郵件 的具體代碼,供大家參考,具體內(nèi)容如下

因?yàn)橛幸恍┤粘H蝿?wù)需要每日檢查日否執(zhí)行正確,所以需要一個(gè)報(bào)警監(jiān)控的機(jī)制,這個(gè)需要你指定你發(fā)送的郵箱和你接收的郵箱,就可以使用了。

這四個(gè)需要填寫(xiě)一下,我們使用的qq企業(yè)郵箱所以host為smtp.exmail.qq.com

mail_host="" 
mail_user="" 
mail_pass="" 
mail_postfix="" 

使用如下,也可以增加附件使用。

python send_email.py xxxxxxx@qq.com,xxxxxx@qq.com test數(shù)據(jù) /home/data/test/sendfile

python代碼:

#!/usr/bin/env python 
# -*- coding: utf-8 -*-  
import smtplib 
import sys 
from email.mime.text import MIMEText 
import linecache 
import email 
import os 
 
############# 
# email send list 
#mailto_list=[""] 
##################### 
# set email service host,user,pass word,postfix 
mail_host="" 
mail_user="" 
mail_pass="" 
mail_postfix="" 
###################### 
 
def transfer_utf8_to_gb2312(file_name): 
  f=open(file_name) 
  s=f.read() 
  f.close() 
  u=s.decode("utf-8") 
  s=u.encode("gb2312") 
  f=open(file_name,"w"); 
  f.write(s) 
 
 
def send_mail(to_list,sub,content_file_name): 
  me=mail_user+"<"+mail_user+"@"+mail_postfix+">" 
  msg = email.MIMEMultipart.MIMEMultipart()  
  content = open(content_file_name.encode("utf-8"), 'rb') 
  content_msg = MIMEText(content.read(),"plain","utf-8") 
  msg.attach(content_msg)  
  msg['Subject'] = sub 
  msg['From'] = me 
  msg['To'] = ";".join(to_list) 
  try: 
    s = smtplib.SMTP() 
    s.connect(mail_host) 
    s.login(mail_user+"@"+mail_postfix,mail_pass) 
    s.sendmail(me, to_list, msg.as_string()) 
    s.close() 
    return True 
  except Exception, e: 
    print "error:",str(e) 
    return False 
 
def send_mail_with_attachment(to_list,sub,content_file_name,attachment_file_name): 
  me=mail_user+"<"+mail_user+"@"+mail_postfix+">" 
  msg = email.MIMEMultipart.MIMEMultipart()  
  content = open(content_file_name.encode("utf-8"), 'rb') 
  content_msg = MIMEText(content.read(),"plain","utf-8") 
  msg.attach(content_msg)  
  for tmp_attachment_file_name in attachment_file_name.split(","): 
    contype = 'application/octet-stream' 
    maintype, subtype = contype.split('/', 1) 
    file_data = open(tmp_attachment_file_name.encode("utf-8"), 'rb') 
    file_msg = email.MIMEBase.MIMEBase(maintype, subtype) 
    file_msg.set_payload(file_data.read()) 
    file_data.close( ) 
    email.Encoders.encode_base64(file_msg) 
    basename = os.path.basename(tmp_attachment_file_name) 
    file_msg.add_header('Content-Disposition', 'attachment', filename = basename.encode("utf-8")) 
    msg.attach(file_msg) 
  msg['Subject'] = sub 
  msg['From'] = me 
  msg['To'] = ";".join(to_list) 
  try: 
    s = smtplib.SMTP() 
    s.connect(mail_host) 
    s.login(mail_user+"@"+mail_postfix,mail_pass) 
    s.sendmail(me, to_list, msg.as_string()) 
    s.close() 
    return True 
  except Exception, e: 
    print "error:",str(e) 
    return False 
 
def print_usage(): 
    print "Usage:  " 
    print "   %s email_send_list(xxx@163.com,xxx@qq.com,...) subject content_file_name" % (sys.argv[0]) 
    print "   %s email_send_list(xxx@163.com,xxx@qq.com,...) subject content_file_name attachment_file_name(file_name1,file_name2,...) if_transform_attachment_to_gb2312(yes or not)" % (sys.argv[0]) 
 
######Start from here######### 
if __name__ == '__main__': 
  reload(sys) 
  sys.setdefaultencoding('utf8') 
  if len(sys.argv) == 6: 
    send_list = sys.argv[1].split(",") 
    subject = unicode(sys.argv[2],"utf-8") 
    content_file_name = unicode(sys.argv[3],"utf-8") 
    attachment_file_name = unicode(sys.argv[4],"utf-8") 
    if(sys.argv[5] == "yes"): 
      transfer_utf8_to_gb2312(attachment_file_name.decode("utf-8")) 
    elif(sys.argv[5] == "not"): 
      pass  
    else: 
      print_usage()  
 
    if send_mail_with_attachment(send_list,subject,content_file_name,attachment_file_name): 
      print "Send email success!" 
    else: 
      print "Send email fail!" 
      sys.exit(1) 
  elif len(sys.argv) == 4: 
    send_list = sys.argv[1].split(",") 
    subject = unicode(sys.argv[2],"utf-8") 
    content_file_name = unicode(sys.argv[3],"utf-8") 
 
    if send_mail(send_list,subject,content_file_name): 
      print "Send email success!" 
    else: 
      print "Send email fail!" 
      sys.exit(1) 
  else: 
    print_usage() 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python變量類型、輸入、輸出運(yùn)算符介紹舉例

    python變量類型、輸入、輸出運(yùn)算符介紹舉例

    Python是一種功能強(qiáng)大的編程語(yǔ)言,支持多種數(shù)據(jù)類型和運(yùn)算符,它強(qiáng)調(diào)代碼的可讀性和簡(jiǎn)潔性,變量在Python中是動(dòng)態(tài)類型的,不需要顯式聲明類型,這篇文章主要介紹了python變量類型、輸入、輸出運(yùn)算符的相關(guān)資料,需要的朋友可以參考下
    2024-11-11
  • 解決python腳本中error: unrecognized arguments: True錯(cuò)誤

    解決python腳本中error: unrecognized arguments: True錯(cuò)誤

    這篇文章主要介紹了解決python腳本中error: unrecognized arguments: True錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python執(zhí)行外部命令subprocess的使用詳解

    Python執(zhí)行外部命令subprocess的使用詳解

    subeprocess模塊是python自帶的模塊,無(wú)需安裝,主要用來(lái)取代一些就的模塊或方法,本文通過(guò)實(shí)例代碼給大家分享Python執(zhí)行外部命令subprocess及使用方法,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Python連接Mysql進(jìn)行增刪改查的示例代碼

    Python連接Mysql進(jìn)行增刪改查的示例代碼

    這篇文章主要介紹了Python連接Mysql進(jìn)行增刪改查的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • pandas.DataFrame.from_dict直接從字典構(gòu)建DataFrame的方法

    pandas.DataFrame.from_dict直接從字典構(gòu)建DataFrame的方法

    本文主要介紹了pandas.DataFrame.from_dict直接從字典構(gòu)建DataFrame的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • python用TensorFlow做圖像識(shí)別的實(shí)現(xiàn)

    python用TensorFlow做圖像識(shí)別的實(shí)現(xiàn)

    這篇文章主要介紹了python用TensorFlow做圖像識(shí)別的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python查看文件大小和文件夾內(nèi)容的方法

    python查看文件大小和文件夾內(nèi)容的方法

    今天小編就為大家分享一篇python查看文件大小和文件夾內(nèi)容的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python+Pygame繪制小球的實(shí)例詳解

    Python+Pygame繪制小球的實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python?Pygame繪制小球(漸變大的小球、自由下落的小球、循環(huán)上下反彈的小球),感興趣的小伙伴可以了解一下
    2022-10-10
  • 對(duì)python多線程中互斥鎖Threading.Lock的簡(jiǎn)單應(yīng)用詳解

    對(duì)python多線程中互斥鎖Threading.Lock的簡(jiǎn)單應(yīng)用詳解

    今天小編就為大家分享一篇對(duì)python多線程中互斥鎖Threading.Lock的簡(jiǎn)單應(yīng)用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Ubuntu安裝Python3.8的兩種方法詳解

    Ubuntu安裝Python3.8的兩種方法詳解

    這篇文章主要給大家介紹了關(guān)于Ubuntu安裝Python3.8的兩種方法,在Ubuntu上安裝Python非常簡(jiǎn)單,文中介紹了兩種方法,每種方法都給出了詳細(xì)實(shí)例,需要的朋友可以參考下
    2023-09-09

最新評(píng)論

青冈县| 荣成市| 百色市| 井冈山市| 北海市| 文化| 焦作市| 白水县| 边坝县| 古蔺县| 祁阳县| 黎川县| 丹棱县| 怀化市| 化德县| 灵台县| 临洮县| 萍乡市| 沅陵县| 辽阳市| 宝鸡市| 福州市| 门源| 娱乐| 个旧市| 宁陵县| 清涧县| 兴化市| 乡城县| 黎城县| 平舆县| 浪卡子县| 咸丰县| 乐平市| 洪雅县| 固阳县| 瓮安县| 积石山| 乌拉特前旗| 永年县| 东台市|