Merge commit '8f720f889b' into nextcloud
This commit is contained in:
commit
be722938c8
3 changed files with 65 additions and 9 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
# %%
|
# %%
|
||||||
import email
|
import email
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
from email.header import decode_header
|
from email.header import decode_header
|
||||||
from imaplib import IMAP4, IMAP4_SSL
|
from imaplib import IMAP4, IMAP4_SSL
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
@ -11,19 +12,20 @@ cred_file = Path("../credentials.json")
|
||||||
with open(cred_file, "r") as f:
|
with open(cred_file, "r") as f:
|
||||||
CREDENTIALS = json.load(f)
|
CREDENTIALS = json.load(f)
|
||||||
|
|
||||||
username = CREDENTIALS["imap_user"]
|
for key, value in CREDENTIALS.items():
|
||||||
password = CREDENTIALS["imap_pass"]
|
os.environ[key] = value
|
||||||
|
|
||||||
|
IMAP_HOST = os.environ["IMAP_HOST"]
|
||||||
|
IMAP_PORT = os.environ["IMAP_PORT"]
|
||||||
|
IMAP_USER = os.environ["IMAP_USER"]
|
||||||
|
IMAP_PASS = os.environ["IMAP_PASS"]
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------- imap ----------------------------------- #
|
# ----------------------------------- imap ----------------------------------- #
|
||||||
|
|
||||||
host = "mail.local-it.org"
|
|
||||||
imap_port = 143
|
|
||||||
imap_ssl_port = 993
|
|
||||||
|
|
||||||
|
with IMAP4_SSL(host=IMAP_HOST) as imap_server:
|
||||||
with IMAP4_SSL(host=host) as imap_server:
|
imap_server.login(IMAP_USER, IMAP_PASS)
|
||||||
imap_server.login(username, password)
|
|
||||||
imap_server.select("INBOX")
|
imap_server.select("INBOX")
|
||||||
|
|
||||||
# Search for all emails in the folder
|
# Search for all emails in the folder
|
||||||
|
|
|
||||||
53
prototyping/email_stuff_2.py
Normal file
53
prototyping/email_stuff_2.py
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
# %%
|
||||||
|
import datetime
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
from imbox import Imbox
|
||||||
|
|
||||||
|
cred_file = Path("../credentials.json")
|
||||||
|
with open(cred_file, "r") as f:
|
||||||
|
CREDENTIALS = json.load(f)
|
||||||
|
|
||||||
|
for key, value in CREDENTIALS.items():
|
||||||
|
os.environ[key] = value
|
||||||
|
|
||||||
|
IMAP_HOST = os.environ["IMAP_HOST"]
|
||||||
|
IMAP_PORT = os.environ["IMAP_PORT"]
|
||||||
|
IMAP_USER = os.environ["IMAP_USER"]
|
||||||
|
IMAP_PASS = os.environ["IMAP_PASS"]
|
||||||
|
|
||||||
|
|
||||||
|
with Imbox(
|
||||||
|
hostname=os.environ["IMAP_HOST"],
|
||||||
|
port=os.environ["IMAP_PORT"],
|
||||||
|
username=os.environ["IMAP_USER"],
|
||||||
|
password=os.environ["IMAP_PASS"],
|
||||||
|
ssl=True,
|
||||||
|
ssl_context=None,
|
||||||
|
starttls=False,
|
||||||
|
) as imbox:
|
||||||
|
# Get all folders
|
||||||
|
status, folders_with_additional_info = imbox.folders()
|
||||||
|
|
||||||
|
# Gets all messages from the inbox
|
||||||
|
all_inbox_messages = imbox.messages()
|
||||||
|
|
||||||
|
# Messages received after specific date
|
||||||
|
inbox_messages_received_after = imbox.messages(date__gt=datetime.date(2018, 7, 30))
|
||||||
|
|
||||||
|
# Messages whose subjects contain a string
|
||||||
|
inbox_messages_subject_christmas = imbox.messages(subject="Christmas")
|
||||||
|
|
||||||
|
for uid, message in all_inbox_messages:
|
||||||
|
print(uid, message.subject, message.date)
|
||||||
|
# # Every message is an object with the following keys
|
||||||
|
|
||||||
|
# message.sent_from
|
||||||
|
# message.sent_to
|
||||||
|
# message.subject
|
||||||
|
# message.headers
|
||||||
|
# message.message_id
|
||||||
|
# message.date
|
||||||
|
# message.body.plain
|
||||||
|
|
@ -5,3 +5,4 @@ python-dotenv
|
||||||
icecream
|
icecream
|
||||||
loguru
|
loguru
|
||||||
beautifulsoup4
|
beautifulsoup4
|
||||||
|
imbox
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue