0
0 комментариев

использую стандартное прикрепление файла к существующему письму(old_msg):

with open(filename, 'rb') as file:
    if maintype == 'text':
        msg_n = MIMEText(file.read().decode(), _subtype=subtype)
    elif maintype == 'image':
        msg_n = MIMEImage(file.read())
    elif maintype == 'audio':
        msg_n = MIMEAudio(file.read(), _subtype = subtype)
    elif maintype == 'message':
        msg_n = MIMEMessage(email.message_from_binary_file(file, policy = policy_pack.default), _subtype = subtype)
    elif maintype == 'application':
        msg_n = MIMEApplication(file.read(), _subtype = subtype)
    else:
        msg_n = MIMEBase(maintype, subtype)
        msg_n.set_payload(file.read(), 'UTF-8')
        encoders.encode_base64(msg_n)
    #далее прикрепляю заголовок(fn - имя файла):
    try:
        msg_n.replace_header('Content-Disposition','attachment', filename=fn)
    except:
        msg_n.add_header('Content-Disposition','attachment', filename=fn)
    try:
        msg_n.replace_header('Content-Type', ctype, filename=fn)
    except:
        msg_n.add_header('Content-Type',ctype ,filename=fn)
old_msg.attach(msg_n)

В итоге — файл прикреплен,а название не отображается: как будто файл без названия. Примером файла может выступать: «2017.06.25 Матан вопросы на экзам МСБиС.pdf».


Добавить комментарий