blob: f4d75e7111348b4a0da4c9dfe1f862b47486f5e3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/usr/bin/python3
import os
import subprocess
import confparser
import imapclient
def connect_to_imap(conf, password):
ssl_context = None
if conf.get('imap.ssl_ca', None):
ssl_context = imapclient.create_default_context(
cafile=os.path.expanduser(conf.get('imap.ssl_ca')))
connection = imapclient.IMAPClient(host=conf.get('imap.server'),
ssl=conf.get('imap.ssl', 'true').lower() == 'true',
ssl_context=ssl_context)
if conf.get('imap.start_tls', 'false').lower() == 'true':
connection.start_tls(ssl_context=ssl_context)
print('connection succeed')
connection.login(username=conf.get('imap.username'), password=password)
print('successfuly logged')
return connection
def main():
confpath = os.path.expanduser('~') + '/temp/conf.cfg'
conf = confparser.read_conf(confpath)
print('Read conf:', conf)
password_command = conf.get('imap.password_command', None)
if password_command:
password = subprocess.check_output(password_command, shell=True)
password = password.rstrip().decode('utf8')
print('got pasword:', password)
connection = connect_to_imap(conf, password)
main() # dev mode for now
|