(feat) config/emacs: setup outlook support lmao!!!!

This commit is contained in:
Sakooooo 2024-09-24 10:22:42 +04:00
parent 83b4e9e809
commit 2095df4129
Signed by: sako
GPG key ID: 3FD715D87D7725E0
2 changed files with 15 additions and 9 deletions

View file

@ -10,7 +10,7 @@ def get_pass(account):
def get_user(account):
usercmd = check_output("pass " + account, shell=True)
return re.search(rb"login: (.*)", usercmd, flags=0).group(1)
return re.search(rb"login: (.*)", usercmd, flags=0).group(1).decode("utf-8")
def hydroxide(path):
@ -37,12 +37,14 @@ def get_client_secret(account):
def get_client_token(account):
cmd = check_output("pass " + account, shell=True)
return re.search(rb"client_token: (.*)", cmd, flags=0).group(1)
output = re.search("client_token: (.*)", cmd.decode(), flags=0).group(1)
return output
def get_client_refresh_token(account):
cmd = check_output("pass " + account, shell=True)
output = re.search(rb"client_refresh_token: (.*)", cmd, flags=0).group(1)
output = re.search("client_refresh_token: (.*)", cmd.decode(), flags=0).group(1)
return str.encode(output)
return output

View file

@ -1,6 +1,7 @@
[general]
pythonfile = ~/.offlineimap.py
accounts = Proton, Outlook
socktimeout = 10
[Account Proton]
localrepository = Proton-local
@ -20,21 +21,24 @@ remotepasseval = hydroxide("/home/sako/.hydroxide-bridge-pass")
folderfilter = lambda foldername: foldername in [ "All Mail", "Archive", "Drafts", "INBOX", "Sent", "Spam", "Starred", "Trash" ]
[Account Outlook]
localrepostiory = Outlook-local
localrepository = Outlook-local
remoterepository = Outlook-remote
[Repository Outlook-local]
type = maildir
type = Maildir
localfolders = ~/Mail/Outlook
[Repository Outlook-remote]
ssl = yes
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
type = IMAP
remoteusereval = get_user("Microsoft")
remotehost = outlook.office365.com
remoteport = 993
auth_mechanisms = XOAUTH2
oauth2_request_url = https://login.microsoftonline.com/common/oauth2/v2.0/token
oauth2_client_id = 9e5f94bc-e8a4-4e73-b8be-63364c29d753 # thunderbird's token not mine lol
oauth2_client_secret = "" # no need for this lmao
oauth2_client_id = 9e5f94bc-e8a4-4e73-b8be-63364c29d753
# oauth2_client_secret = ""
oauth2_refresh_token_eval = get_client_refresh_token("Microsoft")
oauth2_access_token_eval = get_client_token("Microsoft")
folderfilter = lambda folder: not folder.startswith('Calendar') and not folder.startswith('Contacts')