python send mail

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

from email.mime.multipart import MIMEMultipart

from email.mime.base import MIMEBase

from email.mime.text import MIMEText

from email.utils import COMMASPACE,formatdate

from email import encoders

import os

defsend_mail(server, fro, to, subject, text, files=[]):

asserttype(server) ==dict

asserttype(to) ==list

asserttype(files) ==list

msg = MIMEMultipart()

msg['From'] = fro

msg['Subject'] = subject

msg['To'] = COMMASPACE.join(to)#COMMASPACE==', '

msg['Date'] = formatdate(localtime=True)

msg.attach(MIMEText(text))

forfinfiles:

part = MIMEBase('application','octet-stream')#'octet-stream': binary data

part.set_payload(open(f,'rb').read())

encoders.encode_base64(part)

part.add_header('Content-Disposition','attachment; filename="%s"'% os.path.basename(f))

msg.attach(part)

importsmtplib

smtp = smtplib.SMTP(server['name'], server['port'])

smtp.ehlo()

smtp.starttls()

smtp.ehlo()

smtp.login(server['user'], server['passwd'])

smtp.sendmail(fro, to, msg.as_string())

smtp.close()

if__name__=='__main__':

server = {'name':'smtp.qq.com','user':'1020121001','passwd':'101010101','port':25}

fro ='1020121001@qq.com'

to = ['joyesong@qq.com']

subject ='脚本运行提醒'

text ='mail content'

files = ['top_category.txt']

send_mail(server, fro, to, subject, text,files=files)

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的阅读 14,594评论 5 6
  • 一、相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 1...
    LizPL阅读 5,151评论 0 3
  • 今天,高考成绩出来了。 每当此时,有人哭,有人笑。已是老生常谈,也是事实。 几个群里,哭天喊地。 人家六百多分,你...
    喜欢太阳公公的阿刀啊阅读 1,313评论 0 0
  • 今天和舍友出去吃饭啦,写点东西发表一下自己的感慨。 舍友是天津人,家境感觉还不错,至少从小也养尊处优吧。 一起约在...
    嘻歪歪阅读 8,075评论 0 0