python email mime使用

本文深入解析了在电子邮件中使用multipart/mixed、multipart/related和multipart/alternative三种MIME类型的具体场景与应用规则,详细解释了如何根据邮件内容选择合适的MIME类型,以及这些类型的内部结构和工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

multipart/mixed, multipart/related和multipart/alternative使用规则:

mixed

    alternative
        text
        related
            html
            inline image
            inline image
    attachment
    attachment

multipart对应的mixed/related/alternative关系如上。当有添加附件时使用mixed,当只有text和html同时存在时使用alternative,在html嵌入资源时使用related。


可以根据以上层级关系选择multipart需要的类型。




### 如何在Python使用 `email.mime.multipart` 模块 为了创建复杂的邮件内容,比如带有附件或多部分内容的邮件,可以利用 `email.mime.multipart` 模块来构建消息对象。此模块允许组合不同类型的子部件形成复合的消息体。 #### 导入所需库 要开始使用 `email.mime.multipart` 和其他辅助类,需先导入必要的包: ```python from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText import smtplib ``` 这些语句引入了用于创建多部分邮件所需的工具以及SMTP客户端会话的对象[^1]。 #### 创建一个多部分邮件实例 通过调用 `MIMEMultipart()` 函数可初始化一个新的多部分邮件容器: ```python msg = MIMEMultipart() ``` 这行代码建立了一个新的空消息对象,后续可以根据需求向其中添加各种组件。 #### 添加邮件头部信息 设置发件人、收件人和其他头字段对于任何一封电子邮件都是必需的操作之一: ```python msg['From'] = 'sender@example.com' msg['To'] = 'receiver@example.com' msg['Subject'] = 'This is the subject of the email' ``` 上述片段指定了发送者地址、接收者的邮箱地址还有主题行的内容[^2]。 #### 构建并附加邮件正文 为了让邮件包含实际的文字内容,可以通过如下方式将其作为一部分加入到之前定义好的多部分结构里去: ```python body = "Here's a simple text message." msg.attach(MIMEText(body, 'plain')) ``` 这里采用了 `MIMEText` 类型表示纯文本形式的数据,并指定其为普通格式而非 HTML 样式的呈现。 #### 发送邮件 最后一步就是借助 SMTP 协议把准备完毕的信息传递给目标服务器端口上运行的服务进程完成整个过程: ```python server = smtplib.SMTP('smtp.example.com', 587) server.starttls() # 启动TLS加密模式 server.login("username", "password") text = msg.as_string() server.sendmail(msg['From'], msg['To'], text) server.quit() ``` 这段脚本展示了怎样连接至远程主机上的简单邮件传输协议守护程序;启用安全层交换机制确保通信的安全性;验证身份合法性之后执行真正的数据传送动作再断开链接结束操作流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值