python 发邮件

python有内置的模块支持发送邮件email,smtp。

我这里是开启了163邮箱的smtp授权,所以可以这样第三方登录。

发现一个问题,格式化发送人收件人地址的时候必须加<>,否则编码会报错。

def format_address(s):
    name, addr = parseaddr(s)
    return formataddr((Header(name, 'utf-8').encode(), addr))


from_address = '发件人账号'
# 授权码,不是真正的密码
pwd = '授权码'
to_address = '收件人的账号'
smtp_server = 'smtp.163.com'
msg = MIMEText('测试消息', 'plain', 'utf-8')
msg['From'] = format_address('发送人<{}>'.format(from_address))
msg['To'] = format_address('管理员<{}>'.format(to_address))
msg['Subject'] = Header('运行状态', 'utf-8').encode()
server = smtplib.SMTP(smtp_server, 25)
server.login(from_address, pwd)
server.sendmail(from_address, [to_address], msg.as_string())
server.quit()

上面发送的是纯文本,如果要发送html页面,只需要在构造msg的时候传参修改下即可,

msg = MIMEText(data, 'html', 'utf-8')

data为html信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值