python 发送邮件实现方法

感兴趣python 发送邮件实现方法的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
# 编程之家  (jb51.cc) 

sendmail.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
import email.MIMEMultipart
import email.MIMEText
import email.MIMEBase
import sys
#from email.mime.application import MIMEApplication
#import os.path
 
def sendmail(f_from,f_to,f_cclist,alert_info,f_subject):
    From = f_from
    To = f_to
    #file_name = f_file_name
 
    server = smtplib.SMTP("smtp.xxxx.com.cn")
    server.login("xxxx","xxxx")
 
    #构造MIMEMultipart对象做为根容器
    main_msg = email.MIMEMultipart.MIMEMultipart()
 
    text_msg = email.MIMEText.MIMEText("您好。<br><br><br><br>"
                                       + alert_info.title() +
                                       "<br>任凤军 <br>"
                                       "xx技术股份有限公司 <br>"
                                       "手机: xx<br>"
                                       "座机:xxx<br>"
                                       "邮箱:xxxx@xx.com<br>"
                                       "地址:xxxx<br>"
                                       "邮编:130011<br>"
                                       "===================================<br>"
                                       "",'HTML','utf-8')
    main_msg.attach(text_msg)
 
    #xlsxpart = MIMEApplication(open(file_name,'rb').read())
    #xlsxpart.add_header('Content-disposition','attachment',filename=f_subject+".docx")
    #main_msg.attach(xlsxpart)
    # 设置根容器属性
    main_msg['From'] = From
    main_msg['To'] = To
    main_msg['Cc'] = ",".join(f_cclist)
    main_msg['Subject'] = f_subject
    main_msg['Date'] = email.Utils.formatdate()
    #f_cclist为完整的需要接收邮件的列表,原本只存放抄送列表,这里需要添加上收件人
    f_cclist.append(To)
    # 得到格式化后的完整文本
    fullText = main_msg.as_string()
 
    # 用smtp发送邮件
    try:
        server.sendmail(From,fullText)
    finally:
        server.quit()
 
if __name__ == "__main__":
    #sys.setdefaultencoding('utf-8')
    message= [
    'Usage:','      sendmail.py "topic" "mail body text" "mail to"','Examples of usage:','                  sendmail.py "topic" "hello world" "14638852@qq.com"',]
    try:
        topic = str(sys.argv[1]).encode("utf-8")
        alert = str(sys.argv[2]).encode("utf-8")
        mailto = str(sys.argv[3]).encode("utf-8")
    except IndexError:
        for line in message:
            print line+'\n'
        sys.exit()
    cclist=[]
    #clist =[]
    sendmail("xxxx@xxx",mailto,cclist,alert,topic)
 
 
 
备注:
 
sendmail("xxxx@gmail.com",topic)
发件人,收件人,抄送列表,正文内容邮件标题
 
Usage:
 
      sendmail.py "topic" "mail body text" "mail to"
 
Examples of usage:
 
                  sendmail.py "topic" "hello world" "14638852@qq.com"
 
 
./sendmail.py "topic" "hello world" "14638852@qq.com"


# End 编程之家 jb51.cc
smtp以及邮件的签名,还有发件人为定值,需要自己修改

相关文章

方案一 代码 在Python中,可以使用wave模块来读取双通道(立...
简介 一个用python实现的科学计算,包括: 1、一个强大的N维...
使用爬虫利器 Playwright,轻松爬取抖查查数据 我们先分析登...
轻松爬取灰豚数据的抖音商品数据 调用两次登录接口实现模拟登...
成功绕过阿里无痕验证码,一键爬取飞瓜数据 飞瓜数据的登录接...
一文教你从零开始入门蝉妈妈数据爬取,成功逆向破解数据加密...