一、准备
1.1 QQ邮箱开启IMAP/SMTP服务
1.2 网易邮箱开启IMAP/SMTP服务
二、代码
2.1 SMTP发送QQ邮件
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
# ####1.邮件内容配置####
# 邮件文本
msg=MIMEText("哈哈",'html','utf-8')
# 邮件上显示的发件人
msg['From']=formataddr(["xxx","[email protected]"])
# 邮件上显示的主题
msg['Subject']='邮件主题'
# ####2.发送邮件####
server=smtplib.SMTP_SSL('smtp.163.com')
server.login("[email protected]","xxxxxx") #登录请使用授权码,而非密码
server.sendmail("[email protected]","[email protected]",msg.as_string()) #(发件邮箱,收件邮箱)
server.quit()
2.2 SMTP发送网易邮件
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
# ####1.邮件内容配置####
# 邮件文本
msg=MIMEText("哈哈",'html','utf-8')
# 邮件上显示的发件人
msg['From']=formataddr(["xxx","[email protected]"])
# 邮件上显示的主题
msg['Subject']='邮件主题'
# ####2.发送邮件####
server=smtplib.SMTP_SSL('smtp.qq.com',465)
server.login("[email protected]","xxxxxx") #填写授权码,而非密码
server.sendmail("[email protected]","[email protected]",msg.as_string()) #(发件邮箱,收件邮箱)
server.quit()
2.3 SMTP发送HTML格式的邮件
#!/usr/bin/python3
import smtplib
from email.mime.text import MIMEText
from email.header import Header
server='smtp.163.com'
sender = '[email protected]' # 发送邮件,可设置为你的QQ邮箱或者其他邮箱
receivers = ['[email protected]'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
mail_msg = """
<p>Python 邮件发送测试</p>
<p><a href="http://www.baidu.com">这是一个链接</a></p>
"""
message = MIMEText(mail_msg, 'html', 'utf-8')
message['From'] = Header("测试", 'utf-8')
message['To'] = Header("测试", 'utf-8')
subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP_SSL('smtp.qq.com',465)
smtpObj.login("[email protected]","xxxxxx")
smtpObj.sendmail(sender, receivers, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件")