Я использую следующие модули для отправки электронных писем с помощью python:
import tkinter as tk
from tkinter import filedialog
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
import email, smtplib, ssl
Я хочу отправить несколько вложений, но они по какой-то причине не прикрепляются? Программа не выдает ошибок.
Это часть программы, которая принимает кортеж путей к файлам для прикрепления к электронному письму. Почему это не работает и как я могу заставить это работать?
for file in filelist:
with open(file, "rb") as attachment:
attachment_part = MIMEBase("application", "octet-stream")
attachment_part.set_payload(attachment.read())
encoders.encode_base64(attachment_part)
attachment_part.add_header(
"Content-Disposition",
f"attachment; filename = {filename}",
)
message.attach(attachment_part)
# Create Server Connection
with smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context) as server:
server.login(config.email_sender, config.email_password)
server.sendmail(
sender_email, reciever_email, message.as_string()
)
Рад сообщить подробности...
РЕДАКТИРОВАТЬ:
Я пытался использовать то, что есть у других вопросов, но я не получаю никаких вложений. У меня тоже ошибок нет...
РЕДАКТИРОВАТЬ 2:
for file in filelist:
attachment_part = MIMEBase("application", "octet-stream")
attachment_part.set_payload(open(file, "rb").read())
encoders.encode_base64(attachment_part)
attachment_part.add_header("Content-Disposition", "attachment; filename='%s'" % os.path.basename(file))
message.attach(attachment_part)
# Create Server Connection
with smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context) as server:
server.login(config.email_sender, config.email_password)
server.sendmail(
sender_email, reciever_email, message.as_string()
)