用到的Python库.
import smtplib
from email.mime.text import MIMEText # 用来构造文本类型的邮件
from email.header import Header # 用来构造邮件的头部
# 如果服务器用代理访问的外网,用到下面两个库
import socks
import socket
第三方SMTP服务
host:服务器地址
port:25
user:用户名
password:密码
第一步:创建一个SMTP的对象
s = smtplib.SMTP()
第二步:连接到SMTP的服务器
s.connect(host,port) # 连接服务器
第三步:登录SMTP服务器
mail_user = 'username' # 163邮箱的用户名
mail_pass = 'password' # 注意:此处填写的是邮箱的SMTP服务器授权码
s.login(user=mail_user,password=mail_pass)
第四步:构建邮件内容
content = '使用python测试发送邮件' # 构建邮件内容
msg = MIMEText(content,_charset='utf8') # _charset 指定编码格式
msg['Subject'] = Header('测试报告','utf8') # 邮件主题
msg['From'] = 'xxxx@163.com' # 发件人邮箱,可传入列表,用于给多个人发送文件
msg['To'] = 'xxx' # 收件人
第五步:发送邮件
s.sendmail(from_addr=msg['From'],to_addrs=msg['To'],msg=msg.as_string()) #将邮件内容转换为字符串
注:
如果是用代理访问的外网,需要声明下代理。
socks.set_default_proxy(socks.HTTP, '地址', 端口, True, 用户名, 密码)
socket.socket = socks.socksocket