首先在163邮箱开启授权码

记住这个授权密码,我们在python代码里面用的就是这个密码
不然会出现这个报错

# -*- coding:utf-8 -*-
import smtplib
from email.header import Header
from email.mime.text import MIMEText
# 第三方 SMTP 服务
mail_host = "smtp.163.com" # SMTP服务器
mail_user = "xy123@163.com" # 用户名
mail_pass = "08556220" # 授权密码,非登录密码
sender = 'xy123@163.com' #发邮件人
receivers = 'xy123@163.com,uxy123@163.com' #收邮件人
content = 'test mail的内容' #邮件内容
title = 'test mail' # 邮件主题
def sendEmail():
message = MIMEText(content, 'plain', 'utf-8') # 内容, 格式, 编码
message['From'] = "{}".format(sender)
message['To'] = receivers
message['Subject'] = title
try:
smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465
smtpObj.login(mail_user, mail_pass) # 登录验证
smtpObj.sendmail(sender, receivers, message.as_string()) # 发送
print("mail has been send successfully.")
except smtplib.SMTPException as e:
print(e)
# def send_email2(SMTP_host, from_account, from_passwd, to_account, subject, content):
# email_client = smtplib.SMTP(SMTP_host)
# email_client.login(from_account, from_passwd)
# # create msg
# msg = MIMEText(content, 'plain', 'utf-8')
# msg['Subject'] = Header(subject, 'utf-8') # subject
# msg['From'] = from_account
# msg['To'] = to_account
# email_client.sendmail(from_account, to_account, msg.as_string())
# email_client.quit()
if __name__ == '__main__':
sendEmail()
# receiver = '***'
# send_email2(mail_host, mail_user, mail_pass, receiver, title, content)文章借鉴
http://blog.csdn.net/sunhuaqiang1/article/details/70833199
原文地址:http://blog.51cto.com/853056088/2073898