如何在Python中发送包含音频附件的电子邮件
发布时间:2023-12-22 20:48:25
在Python中发送包含音频附件的电子邮件,我们可以使用smtplib和email模块。smtplib模块用于创建和发送电子邮件,而email模块用于创建电子邮件的主体和附件。
以下是一个简单的例子,演示如何发送包含音频附件的电子邮件:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.audio import MIMEAudio
from email.mime.text import MIMEText
# 邮件发送者和接收者的信息
sender = "sender@example.com"
receiver = "receiver@example.com"
# 创建邮件主体对象
msg = MIMEMultipart()
# 设置邮件主体信息
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = "发送音频文件的测试邮件"
# 添加文本内容
body = MIMEText("这是一封测试邮件,附带音频文件。")
msg.attach(body)
# 添加音频附件
attachment = open("audio.mp3", "rb") # 以二进制读取音频文件
audio_part = MIMEAudio(attachment.read(), _subtype="mp3")
attachment.close()
audio_part.add_header('Content-Disposition', 'attachment', filename="audio.mp3")
msg.attach(audio_part)
# 发送邮件
try:
smtpObj = smtplib.SMTP('smtp.example.com', 25) # 使用你的SMTP服务器和端口
smtpObj.login("username", "password") # 使用你的邮箱用户名和密码
smtpObj.sendmail(sender, receiver, msg.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件")
这个例子首先导入了smtplib、MIMEMultipart、MIMEAudio和MIMEText模块。然后,我们指定邮件发送者和接收者的邮箱地址,并创建一个MIMEMultipart对象作为邮件的主体。
接下来,我们设置邮件主体的信息,包括发送者、接收者和主题。我们还添加了一个文本内容部分,通过MIMEText模块创建,并将其附加到邮件主体中。
然后,我们打开要附加的音频文件,以二进制模式读取文件内容,并使用MIMEAudio模块创建一个音频部分。我们使用文件的内容和文件类型指定了音频部分的内容,并通过add_header方法设置了附件的文件名。最后,我们将音频部分附加到邮件主体中。
最后,我们使用smtplib模块的SMTP类创建一个SMTP对象,并使用login方法进行身份验证。然后,我们使用sendmail方法发送邮件,并将MIMEMultipart对象转换为字符串表示形式。
如果发送邮件成功,就会打印"邮件发送成功";否则,打印"Error: 无法发送邮件"。
请注意,你需要根据自己的实际情况修改代码中的邮件发送者和接收者的信息、SMTP服务器和端口,以及登录的用户名和密码。你还需要确保代码运行的目录中有一个名为"audio.mp3"的音频文件,或者根据需要修改附件的文件名。
