Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1"""LICENSE 

2Copyright 2019 Hermann Krumrey <hermann@krumreyh.com> 

3 

4This file is part of puffotter. 

5 

6puffotter is free software: you can redistribute it and/or modify 

7it under the terms of the GNU General Public License as published by 

8the Free Software Foundation, either version 3 of the License, or 

9(at your option) any later version. 

10 

11puffotter is distributed in the hope that it will be useful, 

12but WITHOUT ANY WARRANTY; without even the implied warranty of 

13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

14GNU General Public License for more details. 

15 

16You should have received a copy of the GNU General Public License 

17along with puffotter. If not, see <http://www.gnu.org/licenses/>. 

18LICENSE""" 

19 

20import imaplib 

21 

22 

23def get_inbox_count( 

24 imap_server: str, 

25 imap_address: str, 

26 imap_password: str, 

27 imap_port: int = 993 

28) -> int: 

29 """ 

30 Checks the amount of emails in an IMAP inbox 

31 :param imap_server: The IMAP server to use 

32 :param imap_address: The IMAP address to use 

33 :param imap_password: The IMAP password to use 

34 :param imap_port: The IMAP port to use 

35 :return: The amount of emails 

36 """ 

37 server = imaplib.IMAP4_SSL(imap_server, imap_port) 

38 server.login(imap_address, imap_password) 

39 content = server.select("Inbox")[1][0] 

40 counted = 0 if content is None else int(content) 

41 server.close() 

42 server.logout() 

43 return counted