如何自动过滤电子邮件附件中的最新文件 Python.



我有一些代码可以使用MIME模块从电子邮件中附加文件 但是每次我发送电子邮件时,我希望它自动发送 只有文件中的前 5 张最新图片。

  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的初学者,所以将不胜感激

使用 os.stat 获取 atime、ctime 或 mtime。然后简单比较时间戳(或使用基于datetime.datetime.fromtimestamp的其他逻辑)

相关内容

  • 没有找到相关文章

最新更新