aboutsummaryrefslogtreecommitdiff
path: root/tests/instrumentation/mbox-to-imap.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/instrumentation/mbox-to-imap.py')
-rw-r--r--tests/instrumentation/mbox-to-imap.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/instrumentation/mbox-to-imap.py b/tests/instrumentation/mbox-to-imap.py
new file mode 100644
index 0000000..79e8b41
--- /dev/null
+++ b/tests/instrumentation/mbox-to-imap.py
@@ -0,0 +1,39 @@
+from imaplib import IMAP4_SSL, IMAP4
+from os import listdir
+from os.path import isfile, join
+import sys
+import argparse
+import mailbox
+
+parser = argparse.ArgumentParser(
+ prog='mbox-to-imap',
+ description='Send an mbox to an imap server',
+ epilog='Just a debug tool')
+parser.add_argument('mbox_path') # positional argument
+parser.add_argument('-H', '--host', default="localhost")
+parser.add_argument('-p', '--port', default="143")
+parser.add_argument('-u', '--user')
+parser.add_argument('-s', '--password')
+parser.add_argument('-m', '--mailbox', default="INBOX")
+parser.add_argument('-t', '--tls', action='store_true')
+args = parser.parse_args()
+
+mbox = mailbox.mbox(args.mbox_path)
+
+if args.tls:
+ imap = IMAP4_SSL
+else:
+ imap = IMAP4
+
+
+print(args)
+with imap(host=args.host, port=args.port) as M:
+ print(M.login(args.user, args.password))
+ print(M.select(args.mailbox))
+ for k in mbox.keys():
+ content = mbox.get(k).as_bytes()
+ M.append(args.mailbox, [], None, content)
+ print(f"{k}/{len(mbox)}")
+
+
+