Я отправляю таблицу Excel в виде вложения, используя этот код:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
def send_email(subject, mail_body, attachment= None):
to_addr = input("Enter the recipient's email address: ")
from_addr = 'cloudops@noreply.company.com'
content = mail_body
msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = subject
body = MIMEText(content, 'html')
msg.attach(body)
server = smtplib.SMTP('smtpout.us.cworld.company.com', 25)
with open(attachment, 'r') as f:
part = MIMEApplication(f.read(), Name=basename(attachment))
part['Content-Disposition'] = 'attachment; filename="{}"'.format(basename(attachment))
msg.attach(part)
try:
server.send_message(msg, from_addr=from_addr, to_addrs=to_addr)
print(f"Email was sent to: {to_addr}")
except Exception as e:
print(f"Exception: {e}")
print("Email was not sent.")
И когда я открываю файл, я получаю сообщение:
Excel не может открыть файл «Распределение затрат - 201906.xlsx», потому что
неверный формат или расширение файла. Убедитесь, что файл не имеет
поврежден и что расширение файла соответствует формату
файл.
Почему я получаю эту ошибку и как ее исправить?