python发邮件实例_python通过SMTP发送邮件实例

直接上代码

邮件信息类

#!/usr/bin/env python

# encoding: utf-8

'''

@author: fengtao.xue

@license: (C) Copyright 2016-2019, GAUSSCODE.

@contact: fengtao.xue@gausscode.com

@software:

@file: mailUtils.py

@time: 2019/4/11 15:33

@desc:

'''

import configparser

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

from email.header import Header

class MailInfo:

sender = ''

recivers = ''

subject = ''

msgfrom = ''

msgto = ''

smtphost = ''

def __init__(self, sender, recivers, subject, msgfrom, msgto, smtphost):

self.sender = sender

self.recivers = recivers

self.subject = subject

self.msgfrom = msgfrom

self.msgto = msgto

self.smtphost = smtphost

'''发送邮件'''

def send(self,rptType, msg, file):

print('sending email...')

# 创建一个带附件的实例

message = MIMEMultipart()

message['From'] = Header(self.msgfrom, 'utf-8')

message['To'] = Header(self.msgto, 'utf-8')

message['Subject'] = Header(self.subject + rptType, 'utf-8')

# 邮件正文内容

message.attach(MIMEText(msg, 'plain', 'utf-8'))

# 构造附件

att1 = MIMEText(open(file, 'rb').read(), 'base64', 'utf-8')

att1["Content-Type"] = 'application/octet-stream'

# 这里的filename为邮件中附件名

filename = file.split("/")[-1]

# 附件名称为中文时的写法

att1.add_header("Content-Disposition", "attachment", filename=("gbk", "", filename))

# 附件名称非中文时的写法

# att1["Content-Disposition"] = 'attachment; filename="%s"'% (filename)

message.attach(att1)

# 发送邮件

try:

smtpObj = smtplib.SMTP(self.smtphost)

smtpObj.sendmail(self.sender, self.recivers, message.as_string())

print("Info: send email successfully")

except smtplib.SMTPException:

print("Error: send email failed")

初始化邮件信息

def init():

print('init MailInfo...')

cf = configparser.ConfigParser()

cf.read('./config.ini',encoding="utf-8-sig")

sender = cf.get("mail-info", "SEMDER")

recivers = cf.get("mail-info", "RECEIVERS").split(',')

subject = cf.get("mail-info", "SUBJECT")

msgfrom = cf.get("mail-info", "MSGFROM")

msgto = cf.get("mail-info", "MSGTO")

smtphost = cf.get("mail-info", "SMTPHOST")

return MailInfo(sender, recivers, subject, msgfrom, msgto, smtphost)

mian函数

if __name__ == '__main__':

rptType = '周报SMTP测试'

msg = '这是Python 邮件发送测试……'

file = '../output/报表_2019-01-01_2019-01-31.xls'

mailInfo = init()

mailInfo.send(rptType, msg, file)

config.ini文件

[mail-info]

SEMDER=xft0809@163.com

RECEIVERS=fengtao.xue@gausscode.com

SUBJECT = 报表服务

MSGFROM = 技术部

MSGTO = 运营部

SMTPHOST = localhost

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的影城管理系统,源码+数据库+论文答辩+毕业论文+视频演示 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多生活之中,随之就产生了“小徐影城管理系统”,这样就让小徐影城管理系统更加方便简单。 对于本小徐影城管理系统的设计来说,系统开发主要是采用java语言技术,在整个系统的设计中应用MySQL数据库来完成数据存储,具体根据小徐影城管理系统的现状来进行开发的,具体根据现实的需求来实现小徐影城管理系统网络化的管理,各类信息有序地进行存储,进入小徐影城管理系统页面之后,方可开始操作主控界面,主要功能包括管理员:首页、个人中心、用户管理、电影类型管理、放映厅管理、电影信息管理、购票统计管理、系统管理、订单管理,用户前台;首页、电影信息、电影资讯、个人中心、后台管理、在线客服等功能。 本论文主要讲述了小徐影城管理系统开发背景,该系统它主要是对需求分析和功能需求做了介绍,并且对系统做了详细的测试和总结。具体从业务流程、数据库设计和系统结构等多方面的问题。望能利用先进的计算机技术和网络技术来改变目前的小徐影城管理系统状况,提高管理效率。 关键词:小徐影城管理系统;Spring Boot框架,MySQL数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值