Вот файл, который вы можете использовать и импортировать с помощью этой функции send_mail. Вам нужно будет изменить некоторые вещи, чтобы это работало в вашей ситуации. Вы правильно включили его через трубопровод.
import smtplib
# For guessing MIME type
import mimetypes
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
# Import the email modules we'll need
import email
def send_mail(filename):
sender = 'sender@email.com'
reciever = 'receiver@email.com'
marker = "AUNIQUEMARKER"
msg = MIMEMultipart()
msg['Subject'] = 'Subject text here'
msg['From'] = sender
msg['To'] = reciever
# Read a file and encode it into base64 format
fo = open(filename, "rb")
att = MIMEApplication(fo.read(),_subtype="pdf")
msg.attach(att)
fo.close()
try:
smtpObj = smtplib.SMTP(host='smtp.host.com', port=587)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.login(sender, 'your password')
smtpObj.sendmail(sender, reciever, msg.as_string())
print('SUCCESSFULLY SENT EMAIL')
return
except Exception as e:
print("SEND E-MAIL FAILED WITH EXCEPTION: {}".format(e))
return
Другая часть, чтобы найти последний измененный файл в вашем выходном каталоге
import os
import glob
download_dir = "/full/path/to/files/"
def get_newest_file():
print("Finding latest pdf file")
file_list = glob.glob('{}*.pdf'.format(download_dir))
latest_file = max(file_list, key=os.path.getctime)
if latest_file:
print("Latest file: {}".format(latest_file))
return latest_file