Как прикрепить отправленные файлы к письму email и отправить их через aiogram

@router.message(F.media_group_id, F.content_type.in_({'audio'}))
@media_group_handler
async def album_handler(messages: List[Message],bot:Bot):
    text_message = text_message
    message=None
    for id in messages:
        message=id
    user_id = message.from_user.id
    email_from = get_email_from(message.from_user.id)
    password = get_pwd_from(message.from_user.id)
    email_to_list = get_email_to_list(user_id).split()


    file_id_lst=[]
    for id in messages:
        file_id_lst.append(id.audio.file_id)
        file_id=id.audio.file_id

        msg = MIMEMultipart()
        msg['From'] = email_from
        msg['Subject'] = "new fire beat. you need to check it out..."
        msg['To'] = ','.join(get_email_to_list(user_id).split())
        filename = message.audio.file_name
        audio_file_info = await bot.get_file(file_id)
        audio_file_path = audio_file_info.file_path
        audio_data = await bot.download_file(audio_file_path)

        msg.attach(MIMEText(text_message, 'plain'))
        audio_part = MIMEBase('audio', 'mp3')
        audio_part.set_payload(audio_data.read())
        encoders.encode_base64(audio_part)
        audio_part.add_header('content-disposition','attachment',filename=filename)
        msg.attach(audio_part)

    s = smtplib.SMTP('smtp.gmail.com', 587, timeout=10)
    s.starttls()
    s.login(email_from, password)
    s.sendmail(email_from, email_to_list, msg.as_string())
    await message.answer("Аудиофайл(ы) успешно отправлены на указанные адреса", reply_markup=reply.start_markup)

Помогите пожалуйста, я пишу бота , который будет отправлять отправленные пользователем аудио на почту. Но когда он отправляет их, то из всех файлов, сохранился только последний и отправилось два одинаковый файла и 2 письма на почту.

Tg bot

email `


Ответы (0 шт):