# -*- coding:utf-8 -*-
# version1.0
#python_version2.7
import smtplib
# 发送字符串的邮件
from email.mime.text import MIMEText
# 处理多种形态的邮件主体我们需要 MIMEMultipart 类
from email.mime.multipart import MIMEMultipart
# 处理图片需要 MIMEImage 类
from email.mime.image import MIMEImage
# MIMEMultipart的一个子类
from email.mime.application import MIMEApplication
# 设置第三方SMTP服务
mail_host = 'smtp.163.com'
fromaddr = 'w******n@163.com' # 邮件发送方邮箱地址
password = 'w******2' # 密码(部分邮箱为授权码)
port = 25 # 端口号,163邮箱默认是25
toaddrs = ['1*****9@qq.com','w****n@163.com'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
# toaddrs='1*****9@qq.com'
# 设置email信息
# 创建一个带附件的实例
message = MIMEMultipart()
# 邮件正文设置
content = 'hello, this is email content.'
textApart = MIMEText(content, 'plain', 'utf-8')
message.attach(textApart)
# 邮件主题
message['Subject'] = 'send email'
# 发送方信息
message['From'] = fromaddr
# 接受方信息
message['To'] = ";".join(toaddrs)
# ---------------------------------------------------------------------
# 添加附件,如果有多个附件,可依次构造,最后利用smtplib.smtp发送
# zipfile='a190914.zip'
attachment_file = MIMEApplication(open(r'E:\scripts\test\a190914.zip', 'rb').read())
attachment_file.add_header('Content-Disposition', 'attachment', filename='zipfile.zip')
# a.txt
txt_file = MIMEApplication(open(r'E:\scripts\test\a.txt', 'rb').read())
txt_file.add_header('Content-Disposition', 'attachment', filename='file.txt')
message.attach(attachment_file)
message.attach(txt_file)
# 登录并发送邮件
try:
# 登录邮箱服务器,并发送邮件
server = smtplib.SMTP()
server.connect(mail_host, port)
server.login(fromaddr, password)
server.sendmail(fromaddr, toaddrs, message.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print('error', e) # 打印错误
实现发送邮件功能
最新推荐文章于 2023-01-19 00:08:16 发布
762

被折叠的 条评论
为什么被折叠?



