欢迎访问宙启技术站
智能推送

使用Python的MIMEMultipart()发送带有音频文件的邮件

发布时间:2023-12-25 18:29:49

发送带有音频文件的邮件,可以使用Python中的smtplib和email库来实现。具体步骤如下:

1. 导入所需的库:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.audio import MIMEAudio
from email.mime.base import MIMEBase
from email import encoders

2. 创建MIMEMultipart()对象作为邮件容器,设置邮件主题、发件人和收件人信息:

msg = MIMEMultipart()
msg['Subject'] = '邮件主题'
msg['From'] = '发件人邮箱'
msg['To'] = '收件人邮箱'

3. 读取音频文件,将其作为MIMEAudio对象附加到邮件容器中:

with open('音频文件路径', 'rb') as f:
    audio_data = f.read()
audio = MIMEAudio(audio_data)
audio.add_header('Content-Disposition', 'attachment', filename='音频文件名')
msg.attach(audio)

4. 设置邮件的内容:

body = '邮件正文'
msg.attach(MIMEText(body, 'plain'))

5. 登录SMTP服务器并发送邮件:

smtp_server = 'SMTP服务器地址'
smtp_port = 'SMTP服务器端口'
smtp_username = '发件人邮箱'
smtp_password = '发件人邮箱密码'

with smtplib.SMTP(smtp_server, smtp_port) as server:
    server.login(smtp_username, smtp_password)
    server.send_message(msg)

完整示例代码如下所示:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.audio import MIMEAudio
from email.mime.base import MIMEBase
from email import encoders

msg = MIMEMultipart()
msg['Subject'] = '邮件主题'
msg['From'] = '发件人邮箱'
msg['To'] = '收件人邮箱'

with open('音频文件路径', 'rb') as f:
    audio_data = f.read()
audio = MIMEAudio(audio_data)
audio.add_header('Content-Disposition', 'attachment', filename='音频文件名')
msg.attach(audio)

body = '邮件正文'
msg.attach(MIMEText(body, 'plain'))

smtp_server = 'SMTP服务器地址'
smtp_port = 'SMTP服务器端口'
smtp_username = '发件人邮箱'
smtp_password = '发件人邮箱密码'

with smtplib.SMTP(smtp_server, smtp_port) as server:
    server.login(smtp_username, smtp_password)
    server.send_message(msg)

请注意,为了成功发送邮件,你需要提供正确的SMTP服务器地址、端口号以及发件人的邮箱和密码。另外,邮件的主题、发件人地址、收件人地址、音频文件路径和音频文件名需要根据实际情况进行修改。