十行代码实现Python3 SMTP发送邮件

一、准备

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: 无法发送邮件")

猜你喜欢

转载自blog.csdn.net/zfw_666666/article/details/128575708