При вызове указанной ниже функции SMTP сообщение отправляется на мой почтовый ящик, но файл журнала прикрепляется как .bin file-type.При открытии файл .bin читается так, как если бы это был файл типа .txt, но я не могу открыть файлы .bin на своем мобильном устройстве, что является для меня огромной проблемой.Есть ли способ прикрепить этот файл к сообщению, используя исходный тип файла?Любая обратная связь очень ценится.
Редактировать: файл отправляется с исходным типом файла (.txt), когда я запускаю его с компьютера с Windows, но этот тип файла обрабатывается неправильно, когда я запускаю его изна машине Linux.Я проверил это как с Outlook (предпочтительно) и Gmail.Outlook распознает файл как тип файла .bin, а Gmail вообще не распознает тип файла.
from pathlib import Path
data_folder = Path("path/to/working/directory")
log_file = Path(data_folder / "log.txt")
def sendmail():
maildate = str(datetime.now().strftime("%m" + "/" + "%d" + "/" + "%Y"))
subjectdate = str("Subject - " + maildate)
import smtplib
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email import encoders
msg = MIMEMultipart()
msg['Subject'] = subjectdate
msg['From'] = 'from@from.com'
msg['To'] = 'to@to.com'
attachment = MIMEBase('application', "octet-stream")
attachment.set_payload(open(log_file, "r").read())
encoders.encode_base64(attachment)
attachment.add_header('Content-Disposition', 'attachment, filename=log_file')
msg.attach(attachment)
s = smtplib.SMTP('sender@sender.com')
s.send_message(msg)
s.quit()