使用email.mime.audioMIMEAudio()在Python中发送包含音频文件的邮件
发布时间:2023-12-25 18:44:30
在Python中,我们可以使用email.mime.audio模块中的Audio类来发送包含音频文件的电子邮件。以下是一个示例:
import smtplib
from email.mime.audio import MIMEAudio
from email.mime.multipart import MIMEMultipart
# 音频文件路径
audio_file = "path/to/audio/file.wav"
# 发件人、收件人和邮件主题
sender = "sender@example.com"
recipient = "recipient@example.com"
subject = "Email with Audio Attachment"
# 创建MIMEMultipart对象来构建邮件
msg = MIMEMultipart()
msg["From"] = sender
msg["To"] = recipient
msg["Subject"] = subject
# 读取音频文件
with open(audio_file, "rb") as f:
audio_data = f.read()
# 创建MIMEAudio对象并设置音频数据
audio_part = MIMEAudio(audio_data, "wav")
audio_part.add_header("Content-Disposition", f"attachment; filename={audio_file}")
# 将音频部分添加到邮件中
msg.attach(audio_part)
# 发送邮件
try:
smtp_server = "smtp.example.com"
smtp_port = 587
username = "your_username"
password = "your_password"
smtp_obj = smtplib.SMTP(smtp_server, smtp_port)
smtp_obj.starttls()
smtp_obj.login(username, password)
smtp_obj.sendmail(sender, recipient, msg.as_string())
smtp_obj.quit()
print("Email sent successfully!")
except Exception as e:
print("Error sending email:", str(e))
在上面的示例中,我们首先设置了发件人、收件人和邮件主题。然后,我们使用MIMEMultipart对象创建了邮件实例,并将发件人、收件人和主题添加到该实例中。
然后,我们读取音频文件,并使用MIMEAudio类创建了一个音频部分。我们还设置了Content-Disposition标头,将音频文件作为附件添加到邮件中。
最后,我们使用smtplib库中的SMTP类连接到SMTP服务器,并发送邮件。在此示例中,我们使用starttls()方法启用TLS加密,并使用login()方法进行身份验证。
如果邮件成功发送,将打印"Email sent successfully!"。如果有任何错误发生,将打印"Error sending email:"和相应的错误消息。
请注意,您需要将示例中的smtp_server、smtp_port、username和password更改为您的实际SMTP服务器和登录凭据。
希望以上示例对您有所帮助,并能够成功发送包含音频文件的电子邮件。
