python_email_tools

  • 简介:

  • python专门发送email脚本,可以直接引用,命令行运行
  • 应用场景:

  • Linux中结合shell脚本通过命令行传参的形式发送邮件;
  • 功能简介:

    • 1.支持自定义标题、正文
    • 2.支持命令行传参,支持获取帮助信息
  • Email_Tool.py

# coding=utf-8
__author__ = 'xcma'
from email.header import Header
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib, getopt, sys
def send_emal(subject, content):    
    # 邮件基础信息
    smtpserver = 'smtp.XX.com'    
    smtpuser = 'XX@XX.com'    
    password = 'XXX'    
    mailto = ["XX"]    
    Subject = subject    
    content = content    
    msg = MIMEMultipart()    
    msg['From'] = smtpuser    
    msg['To'] = ",".join(mailto)    
    msg['Subject'] = Header(Subject, 'utf-8').encode()    
    msg["Accept-Language"] = "zh-CN"   
    msg["Accept-Charset"] = "ISO-8859-1,utf-8"    
    msg.attach(MIMEText(content, 'html', 'utf-8'))    
    # 发送邮件    
    server = smtplib.SMTP()    
    try:        
    # 不加密形式        
          server.connect(smtpserver, '25')    
    except:       
    # 通过ssl形式发送邮件          
          server = smtplib.SMTP_SSL(smtpserver, '465')    
    # 邮件日志    
    print (server.set_debuglevel(1))    
    server.login(smtpuser, password)    
    server.sendmail(smtpuser, mailto, msg.as_string())    
    server.quit()
def  usage():    
    print ("""    
    参数使用说明:   
    -x  [ subject ]*** 必填项    
    -y  [ content ]*** 选填项    
    eg: python Email_Tool.py -x 1 -y 2    
    """)
if __name__ == '__main__':    
    subject = ''    
    content = ''    
    opts, args = getopt.getopt(sys.argv[1:], 'hx:y:')    
    for op, value in opts:        
        if op == '-x':            
            subject = value        
        elif op == '-h':            
            usage()            
            sys.exit()    
    for op, value in opts:       
         if op == '-y':            
              content = value          
         elif op == '-h':            
              usage()            
              sys.exit()    
if subject != '':        
      send_emal(subject, content)
  • 总结 :

  • 超独立的小工具,只需要配置下发送邮箱即可,有需要的同学拿来就用岂不快哉!!!

@晴-2016-10-17 18:28:00

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 1...
    LizPL阅读 5,147评论 0 3
  • 前言 在进行日常的自动化测试实践中,我们总是需要将测试过程中的记录、结果等等等相关信息通过自动的手段发送给相关人员...
    苦叶子阅读 3,902评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,292评论 19 139
  • 背景 公司内网有个论坛,各种公司的前沿消息都会有人在讨论。一忙起来,经常忘记逛论坛,所以写了个爬虫,爬取论坛前10...
    aialin阅读 4,442评论 0 11
  • 2017/3/13【打卡】13#杨春华第143天: 1.11#陈颖,这么多天的打卡下来,我发现好多群友鼓励你都特别...
    春华秋实吧阅读 786评论 0 0