132 lines
4.7 KiB
Python
Executable File
132 lines
4.7 KiB
Python
Executable File
import imaplib
|
|
|
|
from imapclient import IMAPClient
|
|
|
|
DOMAIN_YAHOO = "yahoo.com"
|
|
DOMAIN_SINA = "sina.com"
|
|
DOMAIN_HOTMAIL = "hotmail.com"
|
|
DOMAIN_TIM_IT = "tim.it"
|
|
DOMAIN_163 = "163.com"
|
|
DOMAIN_RAMBLER_RU = "rambler.ru"
|
|
DOMAIN_ALICE_IT = "alice.it"
|
|
DOMAIN_MARS_DTI_NE_JP = "mars.dti.ne.jp"
|
|
DOMAN_BTVM_NE_JP = "btvm.ne.jp"
|
|
DOMAN_AURORA_DTI_NE_JP = "aurora.dti.ne.jp"
|
|
DOMAN_GMAIL = "gmail.com"
|
|
DOMAIN_GMX = "gmx.com"
|
|
DOMAIN_GMX_NET = "gmx.net"
|
|
DOMAIN_GMX_AT = "gmx.at"
|
|
DOMAIN_GMX_FR = "gmx.fr"
|
|
DOMAIN_GMX_US = "gmx.us"
|
|
DOMAIN_GMX_CH = "gmx.ch"
|
|
DOMAIN_GMX_PT = "gmx.pt"
|
|
DOMAIN_ONET = "onet.pl"
|
|
DOMAIN_GAZETA_PL = "gazeta.pl"
|
|
DOMAIN_NAVER = "naver.com"
|
|
DOMAIN_INBOX_LV = "inbox.lv"
|
|
DOMAIN_GMX_DE = "gmx.de"
|
|
|
|
DOMAIN_PISS_MAIL = "pissmail.com"
|
|
DOMAIN_INCEL_EMAIL = "incel.email"
|
|
DOMAIN_SHITPOSTING_EXPERT = "shitposting.expert"
|
|
DOMAIN_HATESJE_WS = "hatesje.ws"
|
|
DOMAIN_CHILD_PIZZA = "child.pizza"
|
|
DOMAIN_GENOCIDE_FUN = "genocide.fun"
|
|
DOMAIN_DMC_CHAT = "dmc.chat"
|
|
DOMAIN_WEB_DE = "web.de"
|
|
DOMAIN_OUTLOOK_COM = "outlook.com"
|
|
DOMAIN_FIREMAIL_DE = "firemail.de"
|
|
|
|
AOL_IMAP_SERVER = "imap.aol.com"
|
|
IMAP_SERVER_163 = "imap.163.com"
|
|
IMAP_SERVER_SINA = "imap.sina.com"
|
|
YAHOO_IMAP_SERVER = "imap.mail.yahoo.com"
|
|
HOTMAIL_IMAP_SERVER = "outlook.office365.com"
|
|
|
|
RAMBLER_IMAP_SERVER = "imap.rambler.ru"
|
|
ALICE_IMAP_SERVER = "in.alice.it"
|
|
TIME_IT_SERVER = "imap.tim.it"
|
|
MARS_DTI_NE_JP_SERVER = "imap.cm.dream.jp"
|
|
NAVER_SERVER = "imap.naver.com"
|
|
BTVM_NE_JP = "imap.btvm.ne.jp"
|
|
SEREVER_GMAIL = "imap.gmail.com"
|
|
SERVER_IMAGE_ONET = "imap.poczta.onet.pl"
|
|
SERVER_GMX = "imap.gmx.com"
|
|
SERVER_GMX_NET = "imap.gmx.net"
|
|
SERVER_GMX_AT = "imap.gmx.at"
|
|
SERVER_FIREMAIL_DE = "imap.firemail.de"
|
|
SERVER_PISS_MAIL = "mail.pissmail.com"
|
|
INBOX_LV = "mail.inbox.lv"
|
|
SERVER_WEB_DE = "imap.web.de"
|
|
IMAP_SERVER_DOMAIN_GAZETA_PL = "imap.gazeta.pl"
|
|
|
|
|
|
def show_folders(imap) -> list:
|
|
folders = []
|
|
isImapClient = isinstance(imap, IMAPClient)
|
|
if not isImapClient:
|
|
for i in imap.list()[1]:
|
|
l = i.decode().split(' "/" ')
|
|
if len(l) > 1:
|
|
folders.append(l[1])
|
|
if len(folders) == 0:
|
|
folders.append('INBOX')
|
|
return folders
|
|
else:
|
|
list = imap.list_folders()
|
|
for i in list:
|
|
name = i[-1]
|
|
folders.append(name)
|
|
return folders
|
|
|
|
|
|
def create_imap(login: str):
|
|
# create an IMAP4 class with SSL
|
|
if DOMAIN_163 in login:
|
|
imap = IMAPClient(IMAP_SERVER_163, use_uid=True)
|
|
elif DOMAIN_YAHOO in login:
|
|
imap = imaplib.IMAP4_SSL(YAHOO_IMAP_SERVER)
|
|
elif DOMAIN_FIREMAIL_DE in login:
|
|
# imap = imaplib.IMAP4_SSL(SERVER_FIREMAIL_DE)
|
|
imap = IMAPClient(SERVER_FIREMAIL_DE, use_uid=True)
|
|
elif DOMAIN_GMX in login or DOMAIN_GMX_FR in login or DOMAIN_GMX_US in login or DOMAIN_GMX_CH in login or DOMAIN_GMX_PT in login:
|
|
imap = imaplib.IMAP4_SSL(SERVER_GMX)
|
|
elif DOMAIN_SINA in login:
|
|
# imap = imaplib.IMAP4_SSL(IMAP_SERVER_SINA)
|
|
imap = IMAPClient(IMAP_SERVER_SINA, use_uid=True)
|
|
elif DOMAIN_HOTMAIL in login or DOMAIN_OUTLOOK_COM in login:
|
|
imap = imaplib.IMAP4_SSL(HOTMAIL_IMAP_SERVER)
|
|
elif DOMAIN_RAMBLER_RU in login:
|
|
imap = imaplib.IMAP4_SSL(RAMBLER_IMAP_SERVER)
|
|
elif DOMAN_BTVM_NE_JP in login:
|
|
imap = imaplib.IMAP4_SSL(BTVM_NE_JP)
|
|
elif DOMAN_GMAIL in login:
|
|
imap = imaplib.IMAP4_SSL(SEREVER_GMAIL, port=993)
|
|
elif DOMAIN_ONET in login:
|
|
imap = IMAPClient(SERVER_IMAGE_ONET, use_uid=True)
|
|
elif DOMAIN_TIM_IT in login:
|
|
imap = imaplib.IMAP4(TIME_IT_SERVER)
|
|
elif DOMAIN_ALICE_IT in login:
|
|
imap = imaplib.IMAP4(ALICE_IMAP_SERVER, port=143)
|
|
elif DOMAIN_MARS_DTI_NE_JP in login:
|
|
imap = imaplib.IMAP4(MARS_DTI_NE_JP_SERVER, port=143)
|
|
elif DOMAN_AURORA_DTI_NE_JP in login:
|
|
imap = imaplib.IMAP4(MARS_DTI_NE_JP_SERVER, port=143)
|
|
elif DOMAIN_NAVER in login:
|
|
imap = imaplib.IMAP4_SSL(NAVER_SERVER, port=993)
|
|
elif DOMAIN_GMX_DE in login or DOMAIN_GMX_NET in login:
|
|
imap = imaplib.IMAP4_SSL(SERVER_GMX_NET, port=993)
|
|
elif DOMAIN_GMX_AT in login:
|
|
imap = imaplib.IMAP4_SSL(SERVER_GMX_AT, port=993)
|
|
elif DOMAIN_GAZETA_PL in login:
|
|
imap = imaplib.IMAP4_SSL(IMAP_SERVER_DOMAIN_GAZETA_PL, port=993)
|
|
elif DOMAIN_INBOX_LV in login:
|
|
imap = imaplib.IMAP4_SSL(INBOX_LV, port=993)
|
|
elif DOMAIN_WEB_DE in login:
|
|
imap = imaplib.IMAP4_SSL(SERVER_WEB_DE, port=993)
|
|
elif DOMAIN_PISS_MAIL in login or DOMAIN_CHILD_PIZZA in login or DOMAIN_DMC_CHAT in login or DOMAIN_GENOCIDE_FUN in login or DOMAIN_HATESJE_WS in login or DOMAIN_INCEL_EMAIL in login or DOMAIN_SHITPOSTING_EXPERT in login:
|
|
imap = imaplib.IMAP4_SSL(SERVER_PISS_MAIL, port=993)
|
|
else:
|
|
imap = imaplib.IMAP4_SSL(AOL_IMAP_SERVER)
|
|
return imap
|