在Python中通过email.mime.audioMIMEAudio()发送带有音频附件的电子邮件
发布时间:2023-12-25 18:44:10
要在Python中通过电子邮件发送带有音频附件的邮件,需要使用email和smtplib模块。首先需要导入相应的模块:
import os from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.audio import MIMEAudio import smtplib
接下来,我们可以定义一个函数来发送邮件:
def send_email(sender_email, receiver_email, subject, message, audio_file):
# 创建一个多部分(multipart)消息容器
msg = MIMEMultipart()
msg["From"] = sender_email
msg["To"] = receiver_email
msg["Subject"] = subject
# 添加文本消息
msg.attach(MIMEText(message, "plain"))
# 读取音频文件并创建音频附件
with open(audio_file, "rb") as f:
audio_data = f.read()
audio_part = MIMEAudio(audio_data, _subtype="audio")
audio_part.add_header(
"Content-Disposition",
"attachment",
filename=os.path.basename(audio_file)
)
# 将音频附件添加到消息容器中
msg.attach(audio_part)
# 连接到SMTP服务器并发送邮件
with smtplib.SMTP("smtp.gmail.com", 587) as server:
server.starttls()
server.login(sender_email, "password") # 使用发件人邮箱和密码登录
server.send_message(msg)
在这个函数中,我们首先创建一个多部分(multipart)消息容器,并设置发件人、收件人和主题。然后我们添加文本消息,并读取音频文件并创建音频附件。最后,我们将音频附件添加到消息容器中,并使用smtplib模块连接到SMTP服务器并发送邮件。
下面是一个使用例子:
if __name__ == "__main__":
sender_email = "sender@example.com"
receiver_email = "receiver@example.com"
subject = "测试邮件"
message = "这是一个测试邮件"
audio_file = "audio.mp3"
send_email(sender_email, receiver_email, subject, message, audio_file)
在上面的例子中,我们指定了发件人邮箱、收件人邮箱、主题、消息和音频文件路径。然后调用send_email函数以发送邮件。
注意,发送邮件需要使用一个SMTP服务器的账户和密码进行登录。在上面的例子中,我们使用Google的SMTP服务器,并且需要替换sender_email和"password"为实际的发件人邮箱和密码。
这是一个简单的例子来发送带有音频附件的电子邮件。你可以根据自己的需要进行修改和扩展。
