Python实现邮件发送功能的示例详解

 更新时间:2022年11月10日 10:21:41   作者:许华添  
Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。本文将以qq邮箱为例,实现自己给自己发送邮件的功能,感兴趣的可以了解一下

想实现发送邮件需要经过以下几步:

1、登录邮件服务器

2、构造符合邮件协议规则要求的邮件内容

3、发送

Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件,它对smtp协议进行了简单的封装。

这里我们用qq邮箱为例,并且自己是可以给自己发邮件的。

在开始前我们先做准备工作:

登录qq邮箱,后点击“设置”

点击“账户”

确保前两项已开启,然后点击生成授权码。

因为我们网页登录时的密码是不可以用来python上使用;qq为了安全,我们平常用网页或者qq官方的客户端可以用我们的qq密码登录,但是第三方(比如python)是不可以登录的。

所以要生成第三方授权码。

代码

import smtplib
from email.mime.text import MIMEText  # 邮件正文
from email.header import Header  # 邮件头

# 登录邮件服务器
smtp_obj = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人的SMTP服务器,端口号25
smtp_obj.login("你的qq账号", 'admc********')  # 括号中的内容分别是发件人邮箱账号、授权码
smtp_obj.set_debuglevel(1)  # 显示调试信息,可以不用写

# 设置邮件头信息
msg = MIMEText("测试用Python发送email。", "plain", "utf-8")  # 正文内容
msg['From'] = Header("小天天", 'utf-8')  # 发件人名字
msg["To"] = Header("有缘人", "UTF-8")  # 接收者名字
msg["Subject"] = Header('用Python发送邮件2022', 'utf-8')  # 主题

# 发送
smtp_obj.sendmail('发送人邮箱', ['接收人邮箱'], msg.as_string())
#第一个是发送人邮箱;第二个是数组,说明可以给多个人发送;msg就是刚刚写的发送内容。

运行代码

细节:SMTP使用是25端口,SSL使用的是456端口;SMTP是明文发送,SSL是加密发送

发送html格式的内容

import smtplib
from email.mime.text import MIMEText  # 邮件正文
from email.header import Header  # 邮件头

# 登录邮件服务器
smtp_obj = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人的SMTP服务器,端口号25
smtp_obj.login("2308748900", 'admcwiwxxgmwdifh')  # 括号中的内容分别是发件人邮箱账号、邮箱密码
smtp_obj.set_debuglevel(1)  # 显示调试信息,可以不用写

# 设置邮件头信息
# HTML
msg_body='''
    <h4>python发送html格式的邮件</h4>
    <p>
        测试用HTML格式发送邮件
    </p>
'''
msg = MIMEText(msg_body, "html", "utf-8") # 将plain改成html
msg['From'] = Header("小天天", 'utf-8')  # 发件人名字
msg["To"] = Header("有缘人", "UTF-8")  # 接收者名字
msg["Subject"] = Header('用Python发送邮件2022', 'utf-8')  # 主题

# 发送
smtp_obj.sendmail('2308748900@qq.com', ['2308748900@qq.com'], msg.as_string())

主要代码和上面基本一样,只是将文本改成html的代码内容而已

到此这篇关于Python实现邮件发送功能的示例详解的文章就介绍到这了,更多相关Python邮件发送内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现马耳可夫链算法实例分析

    python实现马耳可夫链算法实例分析

    这篇文章主要介绍了python实现马耳可夫链算法的方法,实例分析了马耳可夫链算法的原理与实现技巧,需要的朋友可以参考下
    2015-05-05
  • pandas如何灵活增加新的空字段

    pandas如何灵活增加新的空字段

    这篇文章主要介绍了pandas如何灵活增加新的空字段问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python编译结果之code对象与pyc文件详解

    Python编译结果之code对象与pyc文件详解

    今天小编就为大家分享一篇对Python编译结果之code对象与pyc文件的详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-10-10
  • python web.py启动https端口的方式

    python web.py启动https端口的方式

    这篇文章主要介绍了python web.py启动https端口,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • python与xml数据的交互详解

    python与xml数据的交互详解

    这篇文章主要介绍了python与xml数据的交互详解,文章围绕主题站卡详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • 从基础到进阶带你玩转Python中的JSON

    从基础到进阶带你玩转Python中的JSON

    JSON是一种轻量级的数据交换格式,在Python中处理JSON数据是日常开发中的常见任务之一,本文将详细介绍如何在Python中处理JSON对象,需要的可以参考下
    2024-12-12
  • Python使用captcha库制作带参数输入验证码案例

    Python使用captcha库制作带参数输入验证码案例

    这篇文章主要介绍了Python使用captcha库制作验证码,带参数输入,本文通过实例案例解析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • python循环之彩色圆环实现示例

    python循环之彩色圆环实现示例

    这篇文章主要为大家介绍了python循环之彩色圆环实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python串口通信的接收与发送的实现

    Python串口通信的接收与发送的实现

    串口通信是指通过串口进行数据传输的一种通信方式,本文就来介绍一下Python串口通信的接收与发送的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • python自然语言处理之字典树知识总结

    python自然语言处理之字典树知识总结

    这篇文章主要介绍了python自然语言处理之字典树知识总结,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04

最新评论