сделал вот что :
mail_from = 'f' # отправитель
mail_to = 'f ' # получатель
mail_text = message # текст письма
mail_subj = type # заголовок письма
mail_coding = 'utf-8'
attach_file = 'log.txt' # прикрепляемый файл
# Параметры SMTP-сервера
smtp_server = "smtp.gmail.com"
smtp_port = 587
smtp_user = "u" # пользователь smtp
smtp_pwd = "p" # пароль smtp
# формирование сообщения
multi_msg = MIMEMultipart()
multi_msg['From'] = Header(mail_from, mail_coding)
multi_msg['To'] = Header(mail_to, mail_coding)
multi_msg['Subject'] = Header(mail_subj, mail_coding)
multi_msg["Cc"] = "сюда не отправляет"
msg = MIMEText(mail_text.encode('utf-8'), 'plain', mail_coding)
msg.set_charset(mail_coding)
multi_msg.attach(msg)
# присоединяем атач-файл
if (os.path.exists(attach_file) and os.path.isfile(attach_file)):
file = open(attach_file, 'rb')
attachment = MIMEBase('application', "octet-stream")
attachment.set_payload(file.read())
email.encoders.encode_base64(attachment)
file.close()
only_name_attach = Header(os.path.basename(attach_file), mail_coding);
attachment.add_header('Content-Disposition', 'attachment; filename="%s"' % only_name_attach)
multi_msg.attach(attachment)
else:
if (attach_file.lstrip() != ""):
print("Файл для атача не найден - " + attach_file)
# отправка
smtp = smtplib.SMTP(smtp_server, smtp_port)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login(smtp_user, smtp_pwd)
smtp.sendmail(mail_from, mail_to, multi_msg.as_string())
smtp.quit()