LINUX.ORG.RU

Отправка писем с аттачментами из python

 ,


0

2

Может, сталкивался уже кто-то?

Отправляю email:

from email.mime.application import MIMEApplication
from email.message import EmailMessage
from email.headerregistry import Address
import logging
import smtplib
import sys

def sendEmail(self, sender_email, sender_name, to_addr, to_name, subj, text, files) :
            server = None
            if ("USE_SSL" in self.settings and self.settings["USE_SSL"]) :
                server = smtplib.SMTP_SSL('%s:%s' % (self.settings['SMTP'], self.settings['PORT']))
            else :
                server = smtplib.SMTP('%s:%s' % (self.settings['SMTP'], self.settings['PORT']))
            server.set_debuglevel(2)
            if (self.settings['WITH_AUTH']) :
                server.login(self.settings['LOGIN'], self.settings['PASSWORD'])

            logger.debug("MAIL = from: %s <%s>, To: %s <%s>" % (sender_name, sender_email, to_name, to_addr))

            msg = EmailMessage()
            msg['Subject'] = subj
            msg['From'] = Address(display_name=sender_name, addr_spec=sender_email) if (sender_email.strip() != '') else Address(addr_spec=self.settings['EMAIL'])
            msg['To'] = Address(display_name=to_name, addr_spec=to_addr)
            #msg.set_type("text/html")
            msg.add_alternative(text, subtype="html")

            for f in files or []:
                with open(f['filename'], "rb") as fil:
                    part = MIMEApplication(
                        fil.read(),
                        Name=f['name']
                    )
                    part['Content-Disposition'] = 'attachment; filename="%s"' % f['name']
                    msg.attach(part)

            res = server.send_message(msg, from_addr=self.settings['SENDER_EMAIL'], to_addrs=to_addr)
            server.quit()

Вызываю этот метод со всеми параметрами, в последнем передаю аттачменты в нужном формате. Письмо отправляется мне (для теста).

В веб-морде моей гугло почты я вижу аттачменты, в андроид-клиенте я вижу аттачменты, а вот в неправославном оутглюке - не вижу. Якобы их и нет совсем.

Это я как-то неправильно аттачменты шлю или это Микрософт виноват?

★★★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.