python发送邮件的实例代码

发布时间:2020-07-14编辑:脚本学堂
python发送邮件的实例代码, 主要功能包括:
发送带附件,带发送人姓名的邮件,邮件头,邮件正文都可以正常显示中文。

python发送邮件的实例代码, 主要功能包括:
发送带附件,带发送人姓名的邮件,邮件头,邮件正文都可以正常显示中文。
不足:
附件中的中文还不知道怎么让它正常显示,如果哪位高人知道解决方法,麻烦在脚本学堂的QQ群: 161228069 中分享一下咯。
 

复制代码 代码如下:

#!/usr/bin/env python
#-*- coding: UTF-8 -*-

import email
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.header import Header

from email import encoders
import smtplib
import mimetypes

##邮件头信息
from_addr = Header('小马哥', 'utf-8')
from_addr.append('<XXX@gmail.com>', 'ascii')
to_addr = 'XXX@gmail.com'
subject_header = '主题: Sending PDF Attachemt'
###要发送的附件
attachment = 'test.py.tar.gz'
###邮件正文
body = ''''This message sends a PDF 附件 created with Report
Lab'''

m = MIMEMultipart()
m["To"] = to_addr
m["From"] = from_addr
m["Subject"] = Header(subject_header, 'utf8')

ctype, encoding = mimetypes.guess_type(attachment)
print ctype, encoding
maintype, subtype = ctype.split('/', 1)
print maintype, subtype

##### 构建附件####
m.attach(MIMEText(body, 'plain', 'utf-8'))
fp = open(attachment, 'rb')
msg = MIMEBase(maintype, subtype)
msg.set_payload(fp.read())
fp.close()
encoders.encode_base64(msg)
msg.add_header("Content-Disposition", "attachment", filename=attachment)
m.attach(msg)


s = smtplib.SMTP("smtp.gmail.com")
s.set_debuglevel(1)
s.sendmail(from_addr, to_addr, m.as_string())
s.quit()

您可能感兴趣的文章:
分享:python发邮件的综合实例
python邮件发送模块smtplib的实例详解
python smtplib发送邮件的例子 python使用126邮箱发送邮件
python smtplib模块发邮件(带附件)的例子
Python发送带附件的邮件的实现代码
python 发送邮件乱码的解决方法
python从文件读取邮件地址输出的例子
python使用gmail发送邮件的实例代码
python smtplib模块发送邮件的实例详解
python smtp模块发送邮件的代码
python发送邮件的脚本一例
python结合php解决发送邮件乱码的问题
python发送邮件的例子
python 发送邮件的代码