|
@@ -13,7 +13,7 @@ import telegram
|
|
import keyring
|
|
import keyring
|
|
from bs4 import BeautifulSoup
|
|
from bs4 import BeautifulSoup
|
|
from telegram.error import BadRequest
|
|
from telegram.error import BadRequest
|
|
-from imap_tools import MailBox, AND, OR
|
|
|
|
|
|
+from imap_tools import MailBox, AND
|
|
|
|
|
|
# -> for python >=3.10, the dh key too small problem
|
|
# -> for python >=3.10, the dh key too small problem
|
|
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
|
|
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
|
|
@@ -23,13 +23,14 @@ config = configparser.ConfigParser()
|
|
config.read('bot')
|
|
config.read('bot')
|
|
bot = telegram.Bot(token=config['AUTH']['token'])
|
|
bot = telegram.Bot(token=config['AUTH']['token'])
|
|
bot2 = telegram.Bot(token=config['AUTH']['bank'])
|
|
bot2 = telegram.Bot(token=config['AUTH']['bank'])
|
|
-mailbox = MailBox(host=config['email']['host'], ssl_context=context)
|
|
|
|
-mailbox2 = MailBox(host=config['email']['host'], ssl_context=context)
|
|
|
|
-mailbox3 = MailBox(host=config['email']['host'], ssl_context=context)
|
|
|
|
|
|
|
|
-mailbox.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='Inbox')
|
|
|
|
-mailbox2.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='bank_events')
|
|
|
|
-mailbox3.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='API')
|
|
|
|
|
|
+# mailbox = MailBox(host=config['email']['host'], ssl_context=context)
|
|
|
|
+# mailbox2 = MailBox(host=config['email']['host'], ssl_context=context)
|
|
|
|
+# mailbox3 = MailBox(host=config['email']['host'], ssl_context=context)
|
|
|
|
+
|
|
|
|
+# mailbox.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='Inbox')
|
|
|
|
+# mailbox2.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='bank_events')
|
|
|
|
+# mailbox3.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='API')
|
|
|
|
|
|
|
|
|
|
def pretty_exc():
|
|
def pretty_exc():
|
|
@@ -55,9 +56,10 @@ def mask2(msg, to_):
|
|
def mail_alert(event=None):
|
|
def mail_alert(event=None):
|
|
'''mail alert Inbox'''
|
|
'''mail alert Inbox'''
|
|
container = deque(maxlen=500)
|
|
container = deque(maxlen=500)
|
|
- # mailbox.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='Inbox')
|
|
|
|
while not event.is_set():
|
|
while not event.is_set():
|
|
try:
|
|
try:
|
|
|
|
+ mailbox = MailBox(host=config['email']['host'], ssl_context=context)
|
|
|
|
+ mailbox.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='Inbox')
|
|
sleep(15)
|
|
sleep(15)
|
|
msgs = [msgs for msgs in mailbox.fetch(AND(seen=False), mark_seen=False)]
|
|
msgs = [msgs for msgs in mailbox.fetch(AND(seen=False), mark_seen=False)]
|
|
for msg in msgs:
|
|
for msg in msgs:
|
|
@@ -93,6 +95,7 @@ def mail_alert(event=None):
|
|
except IMAP4.abort:
|
|
except IMAP4.abort:
|
|
pass
|
|
pass
|
|
# break
|
|
# break
|
|
|
|
+ mailbox.logout()
|
|
except Exception:
|
|
except Exception:
|
|
try:
|
|
try:
|
|
mailbox.logout()
|
|
mailbox.logout()
|
|
@@ -104,9 +107,10 @@ def mail_alert(event=None):
|
|
|
|
|
|
def mail_alert2(event=None):
|
|
def mail_alert2(event=None):
|
|
container = deque(maxlen=500)
|
|
container = deque(maxlen=500)
|
|
- # mailbox2.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='bank_events')
|
|
|
|
while not event.is_set():
|
|
while not event.is_set():
|
|
try:
|
|
try:
|
|
|
|
+ mailbox2 = MailBox(host=config['email']['host'], ssl_context=context)
|
|
|
|
+ mailbox2.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='bank_events')
|
|
sleep(15)
|
|
sleep(15)
|
|
msgs = [msgs for msgs in mailbox2.fetch(AND(seen=False), mark_seen=True)]
|
|
msgs = [msgs for msgs in mailbox2.fetch(AND(seen=False), mark_seen=True)]
|
|
for msg in msgs:
|
|
for msg in msgs:
|
|
@@ -141,6 +145,7 @@ def mail_alert2(event=None):
|
|
except IMAP4.abort:
|
|
except IMAP4.abort:
|
|
pass
|
|
pass
|
|
# break
|
|
# break
|
|
|
|
+ mailbox2.logout()
|
|
except Exception:
|
|
except Exception:
|
|
# pretty_exc()
|
|
# pretty_exc()
|
|
try:
|
|
try:
|
|
@@ -154,9 +159,10 @@ def mail_alert2(event=None):
|
|
def mail_alert3(event=None):
|
|
def mail_alert3(event=None):
|
|
'''mail alert Inbox'''
|
|
'''mail alert Inbox'''
|
|
container = deque(maxlen=500)
|
|
container = deque(maxlen=500)
|
|
- # mailbox3.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='API')
|
|
|
|
while not event.is_set():
|
|
while not event.is_set():
|
|
try:
|
|
try:
|
|
|
|
+ mailbox3 = MailBox(host=config['email']['host'], ssl_context=context)
|
|
|
|
+ mailbox3.login(config['email']['user'], keyring.get_password('yagmail', 'levente.marton@mzk.ro'), initial_folder='API')
|
|
sleep(15)
|
|
sleep(15)
|
|
msgs = [msgs for msgs in mailbox3.fetch(AND(seen=False), mark_seen=True)]
|
|
msgs = [msgs for msgs in mailbox3.fetch(AND(seen=False), mark_seen=True)]
|
|
for msg in msgs:
|
|
for msg in msgs:
|
|
@@ -192,6 +198,7 @@ def mail_alert3(event=None):
|
|
except IMAP4.abort:
|
|
except IMAP4.abort:
|
|
pass
|
|
pass
|
|
# break
|
|
# break
|
|
|
|
+ mailbox3.logout()
|
|
except Exception:
|
|
except Exception:
|
|
try:
|
|
try:
|
|
mailbox3.logout()
|
|
mailbox3.logout()
|