-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSendMail.py
More file actions
59 lines (54 loc) · 2.25 KB
/
SendMail.py
File metadata and controls
59 lines (54 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart, MIMEBase
from email.mime.image import MIMEImage
from email.utils import parseaddr, formataddr
import config
import smtplib
from_addr = config.from_email
password = config.emil_password
to_addr = config.to_email
smtp_server = "smtp.163.com"
def _format_addr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))
def sed_message(massage):
# 邮件对象:
msg = MIMEMultipart()
msg['From'] = _format_addr('系统<%s>' % from_addr)
msg['To'] = _format_addr('收件人<%s>' % to_addr)
msg['Subject'] = Header('数据异常……', 'utf-8').encode()
# 邮件正文是MIMEText:
msg.attach(MIMEText(massage, 'plain', 'utf-8'))
# 添加图片
# msg.attach(MIMEText('<html><body><p>' + massage + '</p>' +
# '<p><img src="cid:1.jpg"></p>' +
# '<p><img src="cid:2.jpg"></p>' +
# '<p><img src="cid:3.jpg"></p>' +
# '</body></html>', 'html', 'utf-8'))
#
# # 添加附件就是加上一个MIMEBase,从本地读取一个图片:
# for filename in os.listdir("./picture"):
# with open('./picture/'+filename, 'rb') as f:
# # 设置附件的MIME和文件名,这里是png类型:
# # mime = MIMEBase('image', 'jpg', filename='1.jpg')
# mime = MIMEImage(f.read())
# f.close()
# # 加上必要的头信息:
# # mime.add_header('Content-Disposition', 'attachment', filename=filename)
# # mime.add_header('Content-ID', '<0>')
# # mime.add_header('X-Attachment-Id', '0')
# mime.add_header('Content-ID', filename)
# # 把附件的内容读进来:
# # mime.set_payload(f.read())
# # 用Base64编码:
# # encoders.encode_base64(mime)
# # 添加到MIMEMultipart:
# msg.attach(mime)
server = smtplib.SMTP(smtp_server, 25)
# server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
print("邮件发送成功----->")