Печатать электронные письма в Gmail, которые соответствуют заданным критериям строки - Selenium? - PullRequest
0 голосов
/ 21 марта 2019

Цель

Напишите программу для поиска входящих сообщений электронной почты Gmail, и, если письмо поступает из указанного списка отправителей, то физически распечатайте (через принтер) письмо.

Вопрос

После того, как я проверил входящие электронные письма (скажем, между определенным периодом времени, то есть между 9:00 и 16:00) и подтвердил, что отправитель электронной почты соответствует критериям, как я могу отправить электронное письмо на принтер для печати?

Могу ли я использовать селен для выбора кнопки «Принтер» в Google Email, а затем в раскрывающемся меню выбрать «печать» (а затем снова щелкнуть во всплывающем окне синюю кнопку «Печать»)?

У меня проблемы с определением следующих фрагментов кода, которые мне нужно написать для достижения моей цели.

Мой код:

#Print Emails
import sys
import imaplib
import getpass
import email
import datetime

#Email Account User, Password
email_suffix = "@lawfirm.com"
imap_user = "myname"
user_password = "password"

#List of Email Addresses to-be printed
NYCourts_Mail = "no-reply@nycourts.gov"
AppDiv_Mail = "ad2-motions@nycourts.gov"

listOfSenders = [NYCourts_Mail, AppDiv_Mail]
#def senderList(sender = listOfSenders)

#Start Codes Here
IMAP_Server = "imap.gmail.com"
SMTP_Server = "smtp.gmail.com"
Mail_Server = "imap.google.com"
SMTP_Port = 993

#login to server; def readmail():
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login(imap_user + email_suffix, user_password)
mail.list()
mail.select("inbox")

#Search, if the Sender of the Email is from listOfSenders
typ, data = mail.search(None, 'OR FROM', 'listOfSenders')

#If Sender matches listOfSenders, then print the email
if mail.search is listOfSenders:
...