# prepare configuration
args = configure_args()
warnings_handler = prepare_logger()
- logging.info("The module restore_mail_inject.py started with user %s, folder %s and source %s.",
- args.user, args.folder, args.srcdir)
+ logging.info("The module restore_mail_inject.py started with user %s, destination %s and source %s.",
+ args.user, args.destination, args.source)
# connect to unix socket or server
psw = getpass.getpass()
- session = MailIterator(args.user, psw)
+ session = MailIterator(args.server, args.user, psw)
storage = FileIterator()
# retrieve mailbox list from the mailbox list file
# delete olf IMAP folders if no append requested
if not args.append:
- session.delete_mailboxes(args.folder)
- if args.folder == "INBOX":
+ session.delete_mailboxes(args.destination)
+ if args.destination == "INBOX":
session.clear_inbox_acls(args.user)
# inject emails
- path_generator = storage.load_mails(args.srcdir, args.folder)
+ path_generator = storage.load_mails(args.source, args.destination)
for message, mailbox, date_modified in path_generator:
# mailboxes marked for creating and acl update
# parse arguments
parser = argparse.ArgumentParser(description="Tool to inject mails via IMAP.")
- parser.add_argument('-s', '--sourcedir', dest='srcdir', action='store',
- required=True, help='folder to read mail from')
+ parser.add_argument('-d', '--directory', dest='source', action='store',
+ required=True, help='file directory to read mails from')
+ parser.add_argument('-s', '--server', dest='server', action='store',
+ default="localhost", help='imap server name with default localhost')
parser.add_argument('-u', '--username', dest='user', action='store',
required=True, help='user to store mails to')
parser.add_argument('-o', '--ouser', dest='ouser', action='store',
default="", help='name of the original user (=username if not specified)')
- parser.add_argument('-f', '--foldername', dest='folder', action='store',
+ parser.add_argument('-f', '--foldername', dest='destination', action='store',
default="INBOX", help='folder to store mails to - if not specified we overwrite INBOX')
parser.add_argument('-m', '--mboxlistfile', dest='mboxlistfile', action='store',
default="", help='mboxlist file (flat file format) to read the ACLs from')
default=False, help="append mails, don't delete anything")
args = parser.parse_args()
- if (args.folder != "INBOX"):
- args.folder = "INBOX/" + args.folder
+ # some default post processing of arguments
+ if (args.destination != "INBOX"):
+ args.destination = "INBOX/" + args.destination
if (args.ouser == ""):
args.ouser = args.user