将日志内容或文档以服务器邮件的方式发送出去

不多说,直接上码!

文档彪红色的地方是必须修改项,请知晓!

'''
运行内容:发送带附件的有邮件
'''

from email import encoders
from email.mime.text import MIMEText
from email.utils import formatdate
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.header import Header
import smtplib
import os.path
import time
from datetime import datetime,date,timedelta

From = "邮件发送名称"

#多个收件人用逗号隔开
To = "收件人1,收件人2,收件人3"
acc = '抄送人员1'

# 时间戳
datatimes = (date.today() + timedelta(days = -1)).strftime("%Y-%m-%d")
datatime_1 = (date.today() + timedelta(days = -1)).strftime("%Y%m%d")

# 调用文件位置/
file_name = "文件路径
host = "地址"
server = smtplib.SMTP(host,端口号)
#smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
# server.login(passworld) #仅smtp服务器需要验证时

# 构造MIMEMultipart对象做为根容器
main_msg = MIMEMultipart()


#数量统计
list_nub=[]
with open(file_name,'rb') as f:
    for line in f:
        list_nub.append(line)
rowNum = str(len(list_nub)-1)


# 构造MIMEText对象做为邮件显示内容并附加到根容器
text_msg = MIMEText("邮件主要内容")
main_msg.attach(text_msg)

# 构造MIMEBase对象做为文件附件内容并附加到根容器
contype = 'application/octet-stream'
maintype, subtype = contype.split('/', 1)

# 读入文件内容并格式化
data = open(file_name, 'rb')
file_msg = MIMEBase(maintype, subtype)
file_msg.set_payload(data.read( ))
data.close()
encoders.encode_base64(file_msg)

# 设置附件头
basename = os.path.basename(file_name)
#解决中文附件名乱码问题
file_msg.add_header('Content-Disposition', 'attachment', filename=('gbk', '', basename))
main_msg.attach(file_msg)

# 设置根容器属性
main_msg['From'] = From
main_msg['To'] = To

main_msg['Cc'] = acc
main_msg['Subject'] = Header("标题","utf-8")
main_msg['Date'] = formatdate( )

# 得到格式化后的完整文本
fullText = main_msg.as_string( )

# 用smtp发送邮件
# try:
#     #发送给多人、同时抄送给多人,发送人和抄送人放在同一个列表中
server.sendmail(From, To.split(',') + acc.split(','), fullText)
# finally:
#   server.quit()
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值