当前位置:首页 > 未命名 > 正文内容

Python教程发送邮件的10大经典示例

大大1年前 (2025-08-27)未命名577
烽火邮箱企业邮箱蜂邮EDM邮件营销系统

【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格

🔔🔔🔔

【烽火邮箱】:烽火邮箱是一款简洁高效的企业邮箱平台,新客户赠送免费企业邮箱,一个起卖、按月付费(低至9.9元);支持别名邮箱及群组邮箱,支持定制无限邮箱。高权重纯净IP池,系统自带反垃圾机制。
立即查看 >> :企业邮箱价格


【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务,专业研发定制邮件营销系统及邮件群发解决方案!蜂邮自研产品线主要分为标准版、外贸版、企业版、定制版,及邮件API邮件SMTP接口服务。
立即查看 >> :邮件发送价格


【AokSend邮件API】:专注触发式邮件API发送服务。15元/万封,发送验证码邮件、忘记密码邮件、通知告警邮件等,不限速。综合送达率99%、进箱率98%。触发邮件也叫事务性邮件或推送邮件,包含:验证码邮件、重置密码邮件、余额提醒邮件、会员到期邮件、账号认证邮件等!
立即查看 >> :邮件发送价格

🔔🔔🔔

Python 教程:发送邮件的 10 大经典示例

随着 Python 在自动化领域的普及,邮件发送功能作为一种常见的需求,也在编程中越来越重要。无论是企业自动化、邮件营销还是日常事务处理,学会用 Python 撰写高效的邮件发送代码,都能大大提升工作效率。本文将通过 10 个经典示例,向你展示如何利用 Python 实现邮件发送功能。


1. 使用 smtplib 库快速发送邮件

smtplib 是 Python 标准库中用于发送电子邮件的库,它通过 SMTP 协议与邮件服务器通信。以下是使用 smtplib 库发送邮件的基本示例。

示例代码

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# 初始化邮件
msg = MIMEMultipart()
msg['From'] = 'your email address'
msg['To'] = 'target email address'
msg['Subject'] = '邮件标题'

# 添加正文
text = "邮件正文"
part = MIMEText(text, 'plain')
msg.attach(part)

# 发送邮件
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()  # 必要的,如果需要加密
server.login('your email address', 'your password')
server.sendmail('your email address', 'target email address', msg.as_string())
server.quit()

关键点

  • smtplib 是实现邮件发送功能的最基础且高效的方式。
  • 适用于需要频繁发送邮件的场景,如自动化任务或mass发送。

应用场景

  • 批量发送邮件
  • 自动化邮件跟进
  • 企业内部邮件发送

2. 使用 pywin32 库发送邮件给 Windows 用户

pywin32 是一个用于与 Windows 系统交互的 Python 库,可以用来发送邮件给 Windows 用户。以下是使用 pywin32 发送邮件的示例。

示例代码

from pywin32 import win32mail, win32print

# 初始化邮件
msg = win32mail.MAPIMessage()
msg.To = 'target email address'
msg.Subject = '邮件标题'
msg.Body = '邮件正文'

# 发送邮件
win32mail.Send(msg, False, 0, False, False, True)

关键点

  • 需要安装 pywin32 库,可以通过 pip install pywin32 安装。
  • 适用于 Windows 系统上的邮件发送,速度快且稳定。

应用场景

  • 在 Windows 系统上发送邮件
  • 企业内部邮件发送
  • 用户认证邮件

3. 使用 python-mime 库创建自定义邮件

python-mime 是一个功能强大的库,可以用来创建复杂的 MIME 格式邮件。以下是使用 python-mime 库创建自定义邮件的示例。

示例代码

from CIMimeMessage import MIMEMessage, IMAPPart, ATTACHPart, RFC822Part
from CIMimeMessage import HeaderName, ValueName

# 初始化邮件
msg = MIMEMessage()
part = RFC822Part()
part.add_header(HeaderName('Subject'), ValueName('邮件标题'))
part.add_header(HeaderName('From'), ValueName('your email address'))
part.add_header(HeaderName('To'), ValueName('target email address'))
part.add_text('邮件正文')
msg.add_part(part)

# 添加附件
with open('附件名', 'rb') as f:
    att = ATTACHPart()
    att.add_header(HeaderName('Content-Disposition'), ValueName(' attachment; filename="附件名"'))
    att.add Binary(f.read())
    msg.add_part(att)

# 发送邮件
mail = IMAPPart()
mail.add_header(HeaderName('Action'), ValueName('Send'))
mail.add_header(HeaderName('To'), ValueName('target email address'))
mail.add_header(HeaderName('Subject'), ValueName('邮件标题'))
mail.add_header(HeaderName('Cc'), ValueName('cc@example.com'))
mail.add_header(HeaderName('Bcc'), ValueName('bcc@example.com'))
mail.add_header(HeaderName('Date'), ValueName('date'))
mail.add_header(HeaderName('Message-ID'), ValueName('message-id'))
mail.add_header(HeaderName('Content-Type'), ValueName('text/plain; charset="UTF-8"'))
mail.add_header(HeaderName('Content-Disposition'), ValueName('inline; filename="message.html"'))
mail.add_header(HeaderName('X-GM-Designation'), ValueName(''))
mail.add_header(HeaderName('X-GM-Date'), ValueName(''))
mail.add_header(HeaderName('X-GM-From'), ValueName('your email address'))
mail.add_header(HeaderName('X-GM-To'), ValueName('target email address'))
mail.add_header(HeaderName('X-GM-Cc'), ValueName('cc@example.com'))
mail.add_header(HeaderName('X-GM-Bcc'), ValueName('bcc@example.com'))
mail.add_header(HeaderName('X-GM-Subject'), ValueName('邮件标题'))
mail.add_header(HeaderName('X-GM-Mime-version'), ValueName('1.0'))
mail.add_header(HeaderName('X-GM-Content-Type'), ValueName('text/plain; charset="UTF-8"'))
mail.add_header(HeaderName('X-GM-Content-Disposition'), ValueName('inline; filename="message.html"'))
mail.add_header(HeaderName('X-GM-Return-path'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-class'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-data'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-message-id'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-from'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-to'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-cc'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-bcc'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-date'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-message-id'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-from'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-to'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-cc'), ValueName(''))
mail.add_header(HeaderName('X-GM-Smtp-bcc'), ValueName(''))

# 添加附件
with open('附件名', 'rb') as f:
    att = ATTACHPart()
    att.add_header(HeaderName('Content-Disposition'), ValueName(' attachment; filename="附件名"'))
    att.add Binary(f.read())
    msg.add_part(att)

# 设置主题和正文
msg.add_header(HeaderName('Subject'), ValueName('邮件标题'))
msg.add_header(HeaderName('Body'), ValueName('邮件正文'))

# 发送邮件
mail.add_part(mail)
msg.add_part(mail)
# 模拟发送邮件(需要实际服务器配置)

关键点

  • python-mime 提供了高度可定制的邮件创建功能。
  • 需要手动设置邮件的各个字段,适合需要复杂配置的场景。

应用场景

  • 需要高度定制的邮件格式
  • 自定义邮件主题和正文
  • 添加附件到邮件

4. 使用 pywin32 库发送邮件给 Outlook 用户

pywin32 也可以用来发送 Outlook 邮件,以下是使用 pywin32 发送 Outlook 邮件的示例。

示例代码

from pywin32 import win32com, win32print, win32mail

# 初始化邮件
win32mail.CompositeMessage msg = win32mail.MAPIMessage()
win32mail.CompositeMessage msg.To = win32mail.UserAccount('target email address')
win32mail.CompositeMessage msg.Subject = '邮件标题'
win32mail.CompositeMessage msg.Body = '邮件正文'

# 添加附件
with open('附件名', 'rb') as f:
    win32mail.Attachment att = win32mail.Attachment()
    att.FileName = '附件名'
    att.Body = f.read()
    msg.AddPart(att)

# 发送邮件
win32mail.Send(msg, False, 0, False, False, True)

关键点

  • 需要安装 pywin32 库
  • win32mail 提供了发送 Outlook 邮件的功能
  • 适用于在 Outlook 中发送邮件

应用场景

  • 在 Windows 系统上发送 Outlook 邮件
  • 添加附件到 Outlook 邮件
  • 自动发送 Outlook 邮件

5. 使用 pyperclip 库发送邮件到剪贴板

pyperclip 是一个用于在 Python 中执行剪贴板操作的库,可以用来发送邮件到剪贴板。以下是使用 pyperclip 发送邮件到剪贴板的示例。

Python教程发送邮件的10大经典示例

示例代码


import pyperclip

# 初始化邮件
msg = f"邮件标题

4.2/5 - (9 votes)


蜂邮EDM邮件营销系统烽火邮箱企业邮箱

【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格

扫描二维码推送至手机访问。

版权声明:本文由MailBing邮件营销博客发布,如需转载请注明出处。

本文链接:https://edm.mailbing.com/id6059.html

分享给朋友: