SMTP协议完成Python自动向邮箱发送邮件(文本、html、图片、附件)

本文详细介绍如何使用Python自动发送包含文本、HTML、图片及附件的邮件,包括配置SMTP服务、获取授权码、构造邮件内容等关键步骤。

                             Python自动发送邮件(文本、html、图片、附件)

     本文由博主经过查阅网上资料整理总结后编写,如存在错误或不恰当之处请留言以便更正,内容仅供大家参考学习。


Python自动发送邮件

1.开启邮箱SMTP服务

SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。

2.获得邮箱登录授权码 

授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码,在第三方客户端的密码框里面是输入16位授权码而不是邮箱密码。

sicnfytnnhukbagg

3.导入使用的模块 

smtplib和email,这俩模块是python自带的,只需import即可使用;smtplib模块主要负责发送邮件,email模块主要负责构造邮件

4. 向邮箱发送文字

创建SMTP对象-->连接到SMTP服务器-->登录SMTP服务器-->构建邮件内容-->发送邮件

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def send_email(SMTP_host, from_account, from_password, to_account, subject, content):
    # 1. 实例化SMTP,创建对象
    smtp = smtplib.SMTP()
    # 2. 链接邮件服务器,若为QQ:smtp.qq.com;若为163:smtp.163.com
    smtp.connect(SMTP_host)
    # 3. 配置发送邮箱的用户名和密码(授权码)
    smtp.login(from_account, from_password)
    # 4. 配置发送内容msg
    msg = MIMEText(content, 'plain', 'utf-8')  # 内容
    msg['Subject'] = Header(subject,'utf-8')  # 主题
    msg['From'] = from_account
    msg['To'] = to_account
    # 5. 配置发送邮箱,接受邮箱,以及发送内容
    smtp.sendmail(from_account, to_account, msg.as_string())
    # 6. 关闭邮件服务
    smtp.quit()

if __name__ == '__main__':
    try:
        send_email("smtp.qq.com", "1425434661@qq.com", "sicnfytnnhukbagg", "1425434661@qq.com", "I want to talk to u",
                   "In this semester")
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值