Предмет: Информатика,
автор: slavyanka30
Отправка почты с вложением на Python 3, за МАКСИМУМ БАЛОВ БАЛЛОВ!!!!!!!
Напишите пожалуйста код на Python 3 отправляющий (желательно через gmail) письмо с вложением output.txt
Заранее спасибо!
Ответы
Автор ответа:
0
Функция для отправки емэйлов 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()
Пример использования 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()
Автор ответа:
0
какая ошибка?
Автор ответа:
0
https://github.com/akinariobi/python-email/blob/master/emailsender.py
Автор ответа:
0
если что-то не работает то пиши
Автор ответа:
0
добавила аутентификацию через пароль
Похожие вопросы
Предмет: Қазақ тiлi,
автор: aizere06082013
Предмет: География,
автор: errkeshka
Предмет: Алгебра,
автор: Аноним
Предмет: Химия,
автор: nastyabarte
Предмет: Математика,
автор: Аноним