Переименование почтового вложения в Python 3.6 - PullRequest
0 голосов
/ 20 февраля 2020

У меня был скрипт, который переименовал мои вложения в сообщениях электронной почты в Python 2.7, однако после недавнего обновления до Python 3.6 у меня возникли проблемы, чтобы выяснить это со всеми изменениями. Я отказался от своего старого сценария, так как он оказался неприменим к более новой версии Python.

. Используя приведенный ниже сценарий, как изменить имя моих вложений в электронную почту? Кажется, что это нормально работает для их отправки, однако я не могу понять, как правильно переименовать вложения. Спасибо за любую помощь.

# Importing Modules
import smtplib,imghdr
from email.message import EmailMessage

sender = "Me - Storm Alerts <myEmail@myJob.com>"
recipient = "yourEmail@yourJob.com"

msgTxt = "D:/testFolder/MSG.txt"
map2attach = "D:/testFolder/warningsMap.png"

# Create a text/plain message
with open(msgTxt) as fp:
    msg = EmailMessage()
    msg.set_content(fp.read())
    with open(map2attach, 'rb') as fp:
      img_data = fp.read()
    msg.add_attachment(img_data, maintype='image',subtype=imghdr.what(None, img_data))
    msg.add_header('Content-Disposition',map2attach,filename='EmailTest.png')

msg['Subject'] = "NWS Alert"
msg['From'] = sender
msg['To'] = recipient

s = smtplib.SMTP('mail.myServer.com')
s.send_message(msg)
s.quit()

1 Ответ

0 голосов
/ 21 февраля 2020

Хорошо, я понял это для всех, кому нужна помощь в будущем.

Мне пришлось заменить следующие две строки:

msg.add_attachment(img_data, maintype='image',subtype=imghdr.what(None, img_data))
msg.add_header('Content-Disposition',map2attach,filename='EmailTest.png')

следующей строкой:

msg.add_attachment(img_data, maintype='image',subtype=imghdr.what(None,img_data),filename="EmailTest.png")
...