diff options
author | hyfc <[email protected]> | 2018-06-09 23:03:54 +0800 |
---|---|---|
committer | hyfc <[email protected]> | 2020-10-22 11:37:28 +0800 |
commit | 38b4062b899fa9ab6c86f3fb313d1fa471da9d87 (patch) | |
tree | be2107b89a2b7484a4c624e0ed9c9f385e0539de /utils/mail.py | |
parent | 91ffd9b22425b75701f1183e6ec1e625198c6e76 (diff) | |
download | telegram-mail-bot-38b4062b899fa9ab6c86f3fb313d1fa471da9d87.tar.gz telegram-mail-bot-38b4062b899fa9ab6c86f3fb313d1fa471da9d87.tar.bz2 telegram-mail-bot-38b4062b899fa9ab6c86f3fb313d1fa471da9d87.zip |
initial commit with some handy email utilities
Diffstat (limited to 'utils/mail.py')
-rw-r--r-- | utils/mail.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/utils/mail.py b/utils/mail.py new file mode 100644 index 0000000..3dc346f --- /dev/null +++ b/utils/mail.py @@ -0,0 +1,48 @@ +import poplib + + +class MailInfo(object): + """ + Class for storing mail's metadata + """ + def __init__(self): + self.index = 0 + self.size = 0 + self.status = "" + self.data = "" + +class EmailClient(object): + def __init__(self, email_account, password): + self.email_account = email_account + self.password = password + self.server = self.connect(self) + + @staticmethod + def connect(self): + # parse the server's hostname from email account + pop3_server = 'pop.'+self.email_account.split('@')[-1] + + server = poplib.POP3_SSL(pop3_server) + + # display the welcome info received from server, + # indicating the connection is set up properly + print(server.getwelcome().decode('utf8')) + + # authenticating + server.user(self.email_account) + server.pass_(self.password) + + return server + + def get_mail_count(self): + _, mails, _ = self.server.list() + return len(mails) + + + +if __name__ == '__main__': + useraccount = "XXXXX" + password = "XXXXXX" + + client = EmailClient(useraccount, password) + client.get_mail_count()
\ No newline at end of file |