python 发送邮件 163_python 发送163邮件

本文介绍如何使用Python的smtplib和email库,通过163邮箱发送带有HTML内容的邮件。详细步骤包括设置SMTP服务器、授权码、格式化地址和构建邮件正文。
摘要由CSDN通过智能技术生成

可能还需要使用 邮箱第三方客户端的授权码.

网易163免费邮箱相关服务器信息

from email import encoders

from email.header import Header

from email.mime.text import MIMEText

from email.utils import parseaddr, formataddr

import logging

import smtplib

def _format_addr(s):

name, addr = parseaddr(s)

return formataddr((Header(name, 'utf-8').encode(), addr))

from_addr = ''

password = ''

# 输入SMTP服务器地址:

smtp_server = 'smtp.163.com'

def sendmail(to_addr,link,secure=True):

title = '

亲爱的%s,您好:

'%(to_addr,to_addr)

reset = "

重置密码
"

body = '

请点击以下链接进行重置密码 %s

'%(link,reset)

tail = '如果您并不是Awesome用户,可能是其他用户误输入了您的邮箱地址。'

html = title+body+tail

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

#发送地址格式 都需要编码

msg['From'] = _format_addr('Awesome Python Webapp ' % from_addr)

msg['To'] = _format_addr('亲爱的用户 ' % to_addr)

msg['Subject'] = Header('重置密码', 'utf-8').encode()

try:

if secure:

server = smtplib.SMTP_SSL(smtp_server, 465) # 启用SSL发信, 端口一般是465

else:

server = smtplib.SMTP(smtp_server, 25)

#server.set_debuglevel(1) #加上这句 可以看到与smtp服务器交互的内容

server.login(from_addr, password)

server.sendmail(from_addr, [to_addr], msg.as_string())

server.quit()

except smtplib.SMTPException as e:

logging.error('sendemail:%s'%e)

if __name__ == '__main__':

# 输入收件人地址:

to_addr = ''

sendmail(to_addr,'http://www.baidu.com',True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值