Python利用脚本实现自动发送电子邮件

 更新时间:2025年01月16日 08:42:49   作者:Ma_si  
这篇文章主要为大家详细介绍了Python如何利用脚本实现自动发送电子邮件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

要编写一个Python脚本来自动发送电子邮件,你可以使用smtplib库来处理SMTP协议,以及email库来构建邮件内容。

1.安装必要的库

通常情况下,smtplib和email库是Python标准库的一部分,因此不需要额外安装。如果你使用的是较旧的Python版本,可能需要确保这些库已安装。

2.编写脚本

以下是一个完整的Python脚本示例,用于发送带有附件的电子邮件

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

def send_email(sender_email, sender_password, receiver_email, subject, body, attachment_path):
    # 设置SMTP服务器
    smtp_server = 'smtp.example.com'  # 替换为你的SMTP服务器地址
    smtp_port = 587  # 替换为你的SMTP服务器端口

    # 创建邮件对象
    msg = MIMEMultipart()
    msg['From'] = sender_email
    msg['To'] = receiver_email
    msg['Subject'] = subject

    # 添加邮件正文
    msg.attach(MIMEText(body, 'plain'))

    # 添加附件
    if attachment_path:
        attachment = open(attachment_path, 'rb')
        part = MIMEBase('application', 'octet-stream')
        part.set_payload(attachment.read())
        encoders.encode_base64(part)
        part.add_header('Content-Disposition', f'attachment; filename={attachment_path}')
        msg.attach(part)
        attachment.close()

    # 连接SMTP服务器并发送邮件
    try:
        server = smtplib.SMTP(smtp_server, smtp_port)
        server.starttls()  # 启用TLS加密
        server.login(sender_email, sender_password)
        text = msg.as_string()
        server.sendmail(sender_email, receiver_email, text)
        server.quit()
        print("邮件发送成功")
    except Exception as e:
        print(f"邮件发送失败: {e}")

if __name__ == "__main__":
    # 替换为你的发件人邮箱和密码
    sender_email = 'your_email@example.com'
    sender_password = 'your_password'

    # 替换为收件人邮箱
    receiver_email = 'receiver_email@example.com'

    # 邮件主题和正文
    subject = '测试邮件'
    body = '这是一封测试邮件,包含附件。'

    # 附件路径(可选)
    attachment_path = 'example.txt'  # 替换为你的附件文件路径

    # 发送邮件
    send_email(sender_email, sender_password, receiver_email, subject, body, attachment_path)

3.运行脚本

将上述脚本保存为一个Python文件(例如send_email.py),然后在命令行中运行:

python send_email.py

4.注意事项

SMTP服务器:你需要替换smtp_server和smtp_port为你的电子邮件服务提供商的SMTP服务器地址和端口。例如,Gmail的SMTP服务器是smtp.gmail.com,端口是587。

发件人邮箱和密码:你需要替换sender_email和sender_password为你的发件人邮箱地址和密码。对于Gmail,你可能需要生成一个应用专用密码。

收件人邮箱:替换receiver_email为收件人的邮箱地址。

附件:如果你不需要发送附件,可以将attachment_path设置为None。

5.安全性

密码安全:不要在脚本中硬编码密码,尤其是当你将代码分享或上传到公共仓库时。可以考虑使用环境变量或配置文件来管理敏感信息。

TLS加密:确保使用starttls()来启用TLS加密,以保护邮件内容在传输过程中的安全。

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

相关文章

  • Python sqlparse 解析库的基础使用过程解析

    Python sqlparse 解析库的基础使用过程解析

    sqlparse 是一个 Python 库,是一个用于 Python 的非验证 SQL 解析器, 用于解析 SQL 语句并提供一个简单的 API 来访问解析后的 SQL 结构,这篇文章主要介绍了Python sqlparse 解析库的基础使用,需要的朋友可以参考下
    2024-08-08
  • Python如何利用xlrd和xlwt模块操作Excel表格

    Python如何利用xlrd和xlwt模块操作Excel表格

    这篇文章主要给大家介绍了关于Python如何利用xlrd和xlwt模块操作Excel表格的相关资料,其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入,需要的朋友可以参考下
    2022-03-03
  • Python新手指南之如何读写旧版Excel(.xls)格式文件

    Python新手指南之如何读写旧版Excel(.xls)格式文件

    在数据处理的世界里,Excel 是最常见的文件格式之一,本教程将手把手教你如何使用 Python 系统化、专业地读写 .xls 文件,有需要的小伙伴可以了解下
    2026-01-01
  • 详解Python 模拟实现生产者消费者模式的实例

    详解Python 模拟实现生产者消费者模式的实例

    这篇文章主要介绍了详解Python 模拟实现生产者消费者模式的实例的相关资料,这里使用了线程知识,队列知识及循环的知识,需要的朋友可以参考下
    2017-08-08
  • python 提取文件的小程序

    python 提取文件的小程序

    在做网站项目时,开发经常要给工程一个升级包,包含本次修改的内容,这个升级包的内容就是tomcat的发布目录下的文件;
    2009-07-07
  • python爬虫之requests库使用代理方式

    python爬虫之requests库使用代理方式

    这篇文章主要介绍了python爬虫之requests库使用代理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • python基础之错误和异常处理

    python基础之错误和异常处理

    这篇文章主要介绍了python错误和异常处理,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • Django日志模块logging的配置详解

    Django日志模块logging的配置详解

    日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常。在生产环境下有很大的用处。在java 开发中通常用 log4j,logback 等三方组件。下面这篇文章主要介绍了Django日志模块logging的相关资料,需要的朋友可以参考下。
    2017-02-02
  • python文件读写代码实例

    python文件读写代码实例

    这篇文章主要介绍了python文件读写代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • python replace 空格数据处理的实现

    python replace 空格数据处理的实现

    本文主要介绍了python replace 空格数据处理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论