Отправка почты с вложением на python 3, за максимум ! напишите код на python 3 отправляющий (желательно через gmail) письмо с вложением output.txt заранее !

anastasiabejena anastasiabejena    1   14.09.2019 19:20    0

Ответы
Апрепр Апрепр  10.09.2020 08:53
Функция для отправки емэйлов def send_mail(ваш емэйл, кому вы отравляете, тема письма, содержание письма, файлы вложения 'output.txt' в данном случае) 

Пример использования send_mail("[email protected]", [[email protected]], "Mail", "something", "output.txt") 

Если файл отправлять не нужно, то просто последним параметром можно ничего не указывать, по дефолту стоит отсутствие вложений.

import smtplib
from os.path import basename
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import COMMASPACE, formatdate

def send_mail(send_from, send_to, subject, text, files=None,smtplib.SMTP('smtp.gmail.com:587')): 
    assert isinstance(send_to, list)
    msg = MIMEMultipart()
    msg['From'] = send_from
    msg['To'] = COMMASPACE.join(send_to)
    msg['Date'] = formatdate(localtime=True)
    msg['Subject'] = subject msg.attach(MIMEText(text))

    for f in files or []:
        with open(f, "rb") as fil:
            part = MIMEApplication( fil.read(), Name=basename(f))  
       part['Content-Disposition'] = 'attachment; filename="%s"' % basename(f)    
       msg.attach(part)
     
    smtp = smtplib.SMTP(server)
    smtp.sendmail(send_from, send_to, msg.as_string())
    smtp.close()
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика