Необходимо вложить файл для отправки через email

Задача: через цикл пройтись по файлам в папке, и через название отправить файлы выбраным адрессатам.

Прописал логику, но когда необходимо вложить файл через (with open as) и далее msg.add_attachment, получаю ошибку Process finished with exit code -1073740791 (0xC0000409). Читал про ошибку, но не пойму, что не так делаю. Подскажите, пожалуйста.

from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
import smtplib
import os
from email.message import EmailMessage
from re import search
import openpyxl

Form, Window = uic.loadUiType('MailSender.ui')

app = QApplication([])
window = Window()
form = Form()
form.setupUi(window)
window.show()


def filter_recipient_attachments():
wb = openpyxl.reader.excel.load_workbook(filename='recipients.xlsx')
wb.active = 0
sheet = wb.active

path = ('D:\\Qt_projects\\mail_sender\\Attachments\\')
att = os.listdir(path)
for p in att:
    for l in range(2, 20):
        if p.split('_')[1] == sheet['B' + str(l)].value.lower():
            user = form.f_email_id.text()  # считываем email_id
            password = form.f_email_password.text()  # считываем email_password
            server = form.f_ssl.text()  # считываем ssl
            port = form.f_port.text()  # считываем port
            recipient = form.f_whom.text()  # считываем кому(единичная отправка)
            folder_rec = form.f_recipients.text()  # считываем папку з адресатами:
            folder_att = form.f_attachments.text()  # считываем папку з вложениями:
            subject = form.f_subject.text()  # считываем заголовок:
            body = form.f_body.text()  # считываем текст письма:
            print(f'{p}-1')
            msg = EmailMessage()
            msg['Subject'] = subject
            msg['From'] = user
            msg['To'] = sheet['A' + str(l)].value
            msg.set_content(body)
            print(f'{p}-2')
            with open(p, 'rb') as f:
                file_data = f.read()
                file_name = f.name()
                msg.add_attachment(file_data, maintype='application', subtype='octet-stream', filename=file_name)
            print(print(f'{p}-3'))
            with smtplib.SMTP_SSL(server, port) as smtp:
                smtp.login(user, password)
                smtp.send_message(msg)
            print(f'Email sent to {sheet["A" + str(l)].value}')


form.but_connect.clicked.connect(filter_recipient_attachments)
app.exec_()

В конце получаю следующий результат:

_fae_.xlsx-1
_fae_.xlsx-2

Process finished with exit code -1073740791 (0xC0000409)

Ответы (0 шт):