用Python发送音频附件邮件的完整代码示例
发布时间:2023-12-11 10:39:29
以下是一个使用Python发送音频附件邮件的完整代码示例:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.audio import MIMEAudio
def send_email_with_audio_attachment(smtp_server, smtp_port, sender_email, sender_password, receiver_email, subject, message, audio_file_path):
# 创建一个带附件的邮件实例
msg = MIMEMultipart()
# 设置邮件主题和发件人、收件人信息
msg['Subject'] = subject
msg['From'] = sender_email
msg['To'] = receiver_email
# 设置邮件正文
msg.attach(MIMEText(message, 'plain'))
# 读取音频文件并将其作为附件添加到邮件中
with open(audio_file_path, 'rb') as file:
audio = MIMEAudio(file.read())
audio.add_header('Content-Disposition', 'attachment', filename=audio_file_path)
msg.attach(audio)
try:
# 连接到SMTP服务器并登录
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(sender_email, sender_password)
# 发送邮件
server.sendmail(sender_email, receiver_email, msg.as_string())
print('邮件发送成功!')
# 断开与服务器的连接
server.quit()
except Exception as e:
print('邮件发送失败:', e)
# 使用示例
if __name__ == '__main__':
# 邮件服务器的地址和端口
smtp_server = 'smtp.example.com'
smtp_port = 587
# 发件人和收件人的邮箱地址
sender_email = 'sender@example.com'
sender_password = 'password'
receiver_email = 'receiver@example.com'
# 邮件主题和正文
subject = '音频附件测试邮件'
message = '这是一封带有音频附件的测试邮件。'
# 音频文件的路径
audio_file_path = 'audio_file.mp3'
send_email_with_audio_attachment(smtp_server, smtp_port, sender_email, sender_password, receiver_email, subject, message, audio_file_path)
在使用示例中,首先设置了邮件服务器的地址和端口,以及发件人和收件人的邮箱地址。然后设置了邮件主题和正文,并指定了要附加的音频文件的路径。
通过调用send_email_with_audio_attachment函数,传入邮件服务器信息、发件人和收件人地址、邮件主题、正文以及音频文件路径,即可发送带有音频附件的邮件。
请注意,示例中使用了SMTP服务器来发送邮件,请根据你的实际情况修改smtp_server和smtp_port变量来对应你的SMTP服务器信息。同时,需要确保发件人邮箱的SMTP服务已开启,并且提供了正确的发件人邮箱地址和密码。
