Я пытаюсь отправить файл csv в виде вложения с помощью простой функции в python 3.6.
from email.message import Message
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
def email():
msg = MIMEMultipart()
msg['Subject'] = 'test'
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'
msg.preamble = 'preamble'
with open("test.csv") as fp:
record = MIMEText(fp.read())
msg.attach(record)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login("[email protected]", "password")
server.sendmail("[email protected]", "[email protected]", msg)
server.quit()
Вызов email()
вызывает ошибку expected string or bytes-like object
. Переопределение server.sendmail("[email protected]", "[email protected]", msg)
как server.sendmail("[email protected]", "[email protected]", msg.as_string())
вызывает отправку электронного письма, но отправляет файл csv в тело письма, а не как вложение. может ли кто-нибудь дать мне несколько указателей на то, как отправить файл csv в виде вложения?