Python 如何自动筛选电子邮件附件中的最新文件
我有一些代码可以使用MIME模块从电子邮件中附加文件 但是,每次我发送电子邮件时,我都希望它自动发送 仅文件中的前5张最新图片Python 如何自动筛选电子邮件附件中的最新文件,python,email,attachment,email-attachments,Python,Email,Attachment,Email Attachments,我有一些代码可以使用MIME模块从电子邮件中附加文件 但是,每次我发送电子邮件时,我都希望它自动发送 仅文件中的前5张最新图片 import os, re import sys import smtplib from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email.mime.t
import os, re
import sys
import smtplib
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587
sender = '***@gmail.com'
password = "*******"
recipient = '***@gmail.com'
subject = 'Python emaillib Test'
message = 'Images attached.'
directory = "images/"
def main():
msg = MIMEMultipart()
msg['Subject'] = 'Python emaillib Test'
msg['To'] = recipient
msg['From'] = sender
#this is where it searches for the image
files = os.listdir(directory)
jpgsearch = re.compile(".jpg", re.IGNORECASE)
files = filter(jpgsearch.search, files)
for filename in files:
path = os.path.join(directory, filename)
if not os.path.isfile(path):
continue
img = MIMEImage(open(path, 'rb').read(), _subtype="jpg")
img.add_header('Content-Disposition', 'attachment', filename = filename)
msg.attach(img)
part = MIMEText('text', "plain")
part.set_payload(message)
msg.attach(part)
session = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
session.ehlo()
session.starttls()
session.ehlo
session.login(sender, password)
session.sendmail(sender, recipient, msg.as_string())
session.quit()
if __name__ == '__main__':
main()
我是Python的初学者,希望您能帮助我获取atime、ctime或mtime。然后简单地比较时间戳(或者使用基于datetime.datetime.fromtimestamp的其他逻辑)您能用我前面的代码给出一个例子吗。因为我是初学者?Python有os.atime、os.ctime和os.mtime。我应该将os.atime、os.ctime和os.mtime放在我的代码中的什么位置?谢谢你的帮助!