python发送邮件
程序员文章站
2022-04-07 15:49:00
...
####一、在阿里云后台开启smtp服务
备注:默认是开启的,但是还是要检查下
####二、python脚本
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
def email(email_list,content,subject="测试效果"):
msg = MIMEText(content,'plain','utf-8')
msg['From'] = formataddr(["杨柳",'aaa@qq.com']) #发件人信息
msg['Subject'] = subject
#SMTP服务区
server = smtplib.SMTP("smtp.aliyun.com",25) #阿里云邮件服务器
server.login('aaa@qq.com','nopassword') #自己邮箱的登陆信息
server.sendmail('aaa@qq.com',email_list,msg.as_string())
server.quit()
email(['aaa@qq.com'],'测试专用') #收件人可以为很多,所以用列表展示
#email(['aaa@qq.com'],'测试专用','发送邮件')
备注:
如果subject为“测试”,阿里云服务器会直接拒绝发送
####三、效果展示
扩展
使用python发送带有附件的邮件
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
from email.mime.multipart import MIMEMultipart
from email.header import Header
def email(email_list,content,subject="企业数据"):
msg = MIMEMultipart() #创建一个带有附件的实例
msg['From'] = formataddr(["杨柳", 'aaa@qq.com'])
msg['Subject'] = Header(subject, 'utf-8')
# 邮件正文内容
msg.attach(MIMEText(content,'plain','utf-8'))
# 构造附件1,传送当前目录下的 20180925.xlsx 文件
att1 = MIMEText(open('20180925.xlsx', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
att1["Content-Disposition"] = 'attachment; filename="20180925.xlsx"'
msg.attach(att1)
#SMTP服务区
server = smtplib.SMTP("smtp.aliyun.com",25) #阿里云邮件服务器
server.login('aaa@qq.com','nopassword') #自己邮箱的登陆信息
server.sendmail('aaa@qq.com',email_list,msg.as_string())
server.quit()
email(['aaa@qq.com'],'企业数据') #收件人可以为很多,所以用列表展示
下一篇: Riot:速度更快的Ruby测试框架