Отправка почты с вложением ** Python 3, за МАКСИМУМ БАЛОВ БАЛЛОВ!!!!!!! Напишите...

0 голосов
140 просмотров

Отправка почты с вложением на Python 3, за МАКСИМУМ БАЛОВ БАЛЛОВ!!!!!!!

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

Заранее спасибо!


Информатика Начинающий (291 баллов)
Дан 1 ответ
0 голосов
Начинающий (586 баллов)
Функция для отправки емэйлов 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()
оставил комментарий Начинающий (291 баллов)

спасибо незнакомец, я тебя обожаю!!!!!

оставил комментарий Начинающий (291 баллов)

только вот подскажи мне пожалуйста , как программа узнает пароль моего gmail?

оставил комментарий Начинающий (291 баллов)

Код выдает ошибку, я указал ее в дополнении

оставил комментарий Начинающий (586 баллов)

какая ошибка?

оставил комментарий Начинающий (586 баллов)

вижу, сейчас отправлю версию на моем гитхабе чтобы было проще

оставил комментарий Начинающий (586 баллов)
оставил комментарий Начинающий (586 баллов)

если что-то не работает то пиши

оставил комментарий Начинающий (586 баллов)

добавила аутентификацию через пароль

...