
Python通过SMTP协议具体说明 email 发送功能
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
主要阐述了Python基于SMTP协议实现发送邮件功能的详细过程,并通过实例深入解析了其在实际应用中的操作技巧。同时系统归纳总结了包括纯文本邮件、邮件附件以及图片邮件在内的多种相关操作方法,供有相关需求的读者参考和学习`smtplib`模块包含一个`SMTP`类,用于与SMTP服务器建立连接。核心功能是创建一个`SMTP`实例,并指定其运行的SMTP服务器的主机名以及使用的端口号。例如,可以配置该实例以连接到特定的smtp服务器。```python
import smtplib
smtpObj = smtplib.SMTP(smtp.example.com, 587)
```对于此类采用SSL加密机制的SMTP服务器,该类工具库提供`SMTP_SSL`接口,例如:```python
import smtplib
smtpObj = smtplib.SMTP_SSL(smtp.example.com, 465)
```主要由函数sendmail()担任。它负责接收发件人的地址、收件人地址列表以及邮件正文内容。构建包含正文文本的MIME消息体,可以通过使用模块中的子模块如email.mime.text.MIMEText来实现。例如,以下是一个发送纯文本邮件的具体操作示例:```python
from email.mime.text import MIMEText
from email.utils import formataddr
msg = MIMEText(邮件正文, plain, utf-8)
msg[From] = formataddr((发件人昵称, from@example.com))
msg[To] = formataddr((收件人昵称, to@example.com))
msg[Subject] = 邮件主题
smtpObj = smtplib.SMTP(smtp.example.com, 25)
smtpObj.login(your_username, your_password)
smtpObj.sendmail(from@example.com, [to@example.com], msg.as_string())
smtpObj.quit()
```在实际应用场景下,用户可能需要通过电子邮件发送包含文件或图像的内容。具体操作方法是:首先生成所需 MIME 类型的对象,并将这些对象整合到主邮件主体中。例如,在创建附件时,可采用以下步骤:```python
from email.mime.base import MIMEBase
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
msg = MIMEMultipart()
# 添加纯文本内容
msg.attach(MIMEText(这是邮件正文))
# 添加附件
with open(attachment.txt, rb) as f:
part = MIMEBase(application, octet-stream)
part.set_payload(f.read())
encoders.encode_base64(part)
part.add_header(Content-Disposition, attachment; filename=attachment.txt)
msg.attach(part)
# 添加图片
with open(image.jpg, rb) as f:
img = MIMEImage(f.read())
img.add_header(Content-ID,
全部评论 (0)


