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

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

网易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)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部