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

用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_serversmtp_port变量来对应你的SMTP服务器信息。同时,需要确保发件人邮箱的SMTP服务已开启,并且提供了正确的发件人邮箱地址和密码。