[Python] Como enviar um arquivo como anexo por e-mail sem que ele seja automaticamente...

Discussão em 'Python' iniciado por Stack, Janeiro 14, 2025.

  1. Stack

    Stack Membro Participativo

    Sou iniciante em enviar e-mails através de script e estou enfrentando um problema. Uso Python 3.5. Ao enviar anexos com o seguinte script, eles perdem a extensão e são renomeados:

    def enviaremail(usuario,senha,mensagem,listadestinatarios):
    from smtplib import SMTP
    smtp=SMTP('smtp.live.com',587)
    smtp.starttls()
    smtp.login(usuario,senha)
    smtp.sendmail(usuario,listadestinatarios,mensagem)
    smtp.quit()
    print('E-mail enviado com sucesso')
    def anexoimagem(path):
    from email.mime.image import MIMEImage
    with open(path,'rb') as f:
    mime=MIMEImage(f.read(),subtype='jpg')
    return mime
    msg=anexoimagem('foto.jpg')
    msg['From']='xxxx@hotmail.com'
    msg['To']='xxxx@hotmail.com'
    msg['Subject']='testando mensagem com anexo'
    enviaremail('xxxx@hotmail.com','xxxx',msg.as_string,['xxxx@hotmail.com']


    Por exemplo, o arquivo foto.jpg aparece como ATT0001 no e-mail. Renomeado e sem a extensão .jpg que ele tem. O mesmo acontece com arquivos de texto e de áudio. Como faço para os arquivos manterem seu nome e extensão ao serem enviados como anexos?

    Continue reading...

Compartilhe esta Página