python通过SMTP协议发送邮件失败

以163邮箱为例,在开启POP3/SMTP服务,并开启客户端授权密码时会设置授权码,将这个授权码代替smtplib.SMTP().login(user,password)方法中的password即可。
以下是python利用SMTP协议发送邮件的代码:(测试可用)

coding:utf-8

#pip install PyEmail
import smtplib
from email.mime.text import MIMEText # 引入smtplib和MIMEText

host = ‘smtp.163.com’ # 设置发件服务器地址
port = 25 # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式
sender = ‘@163.com’ # 设置发件邮箱,一定要自己注册的邮箱
pwd = '
’ # 设置发件邮箱的密码,等会登陆会用到
receiver = ‘********@qq.com’ # 设置邮件接收人,可以是扣扣邮箱
body = ‘

Hi

test

’ # 设置邮件正文,这里是支持HTML的

msg = MIMEText(body, ‘html’) # 设置正文为符合邮件格式的HTML内容
msg[‘subject’] = ‘Hello world’ # 设置邮件标题
msg[‘from’] = sender # 设置发送人
msg[‘to’] = receiver # 设置接收人

try:
s = smtplib.SMTP(host, port) # 注意!如果是使用SSL端口,这里就要改为SMTP_SSL
s.login(sender, pwd) # 登陆邮箱
s.sendmail(sender, receiver, msg.as_string()) # 发送邮件!
print(‘Done’)

except smtplib.SMTPException:
print(‘Error’)
python通过SMTP协议发送邮件失败_第1张图片

你可能感兴趣的:(python通过SMTP协议发送邮件失败)