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

使用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服务器和登录凭据。

希望以上示例对您有所帮助,并能够成功发送包含音频文件的电子邮件。