-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmail_msg.py
43 lines (34 loc) · 1.57 KB
/
mail_msg.py
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
import smtplib
from email.mime.text import MIMEText
import urllib.parse
import sys
from email.utils import encode_rfc2231
# 第三方 SMTP 服务
mail_host = "smtp.163.com" # SMTP服务器
mail_user = "13552136585@163.com" # 用户名
mail_pass = "CQOVOIJPBSCYVOBQ" # 授权密码,非登录密码
# mail_pass = "eyjhsujpzogibhaj" # 授权密码,非登录密码
sender ="13552136585@163.com" # 发件人邮箱(最好写全, 不然会失败)
receivers = ['13552136585@163.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
title = 'tell' # 邮件主题
def sendEmail(content):
message = MIMEText(urllib.parse.quote(content), 'plain', 'utf-8') # 内容, 格式, 编码
message['From'] = "{}".format(sender)
message['To'] = ",".join(receivers)
message['Subject'] = urllib.parse.quote(title)
try:
# https://docs.python.org/3/library/smtplib.html
smtpObj = smtplib.SMTP_SSL(mail_host,465) # 启用SSL发信, 端口一般是465
smtpObj.set_debuglevel(1) # 打印和服务器的交互信息
smtpObj.login(mail_user,mail_pass) # 登录验证
smtpObj.sendmail(sender, receivers, message.as_string()) # 发送
print("mail has been send successfully.")
except smtplib.SMTPException as e:
print(e)
if __name__ == '__main__':
# 打印语言默认编码
print(f"defaultencoding--{sys.getdefaultencoding()}")
# 打印系统配置的编码
print(f"filesystemencoding--{sys.getfilesystemencoding()}")
# 最后尝试打印中文
sendEmail("this is text")