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

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

大大2小时前未命名5
烽火邮箱企业邮箱蜂邮EDM邮件营销系统

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

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

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

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


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

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

🔔🔔🔔

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


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


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

🔔🔔🔔

示例代码

import smtplibfrom email.mime.multipart import MIMEMultipartfrom 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, RFC822Partfrom 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 发送邮件到剪贴板的示例。

示例代码

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

4.2/5 - (9 votes)


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

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

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

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

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

分享给朋友: