#!/usr/bin/env python3 """Mail to Dan.""" import os import sys sys.path.insert(0, os.path.expanduser('~/lib')) sys.path.insert(0, '/usr/local/lib') import mailer as mailer_mod # noqa: ignore-E402 def usage(retval): """Output a usage message.""" if retval == 0: write = sys.stderr.write else: write = sys.stderr.write write('Usage: %s\n' % sys.argv[0]) write(' -s subject\n') write(' -a account\n') write(' -z\n') write(' -Z /ignore/file\n') write(' -f from_address\n') write(' -t to_address\n') write(' -h\n') write(' message body on stdin\n') sys.exit(retval) def main(): """Start the ball rolling.""" subject = 'No subject given' only_if_nonzero = False from_address = 'strombrg@gmail.com' to_address = 'strombrg@gmail.com' ignore_content = None account = 'strombrg@gmail.com' while sys.argv[1:]: if sys.argv[1] == '-s': subject = sys.argv[2] del sys.argv[1] elif sys.argv[1] == '-a': account = sys.argv[2] del sys.argv[1] elif sys.argv[1] == '-Z': with open(sys.argv[2], 'r') as file_: ignore_content = file_.read() del sys.argv[1] elif sys.argv[1] == '-z': only_if_nonzero = True elif sys.argv[1] == '-t': to_address = sys.argv[2] del sys.argv[1] elif sys.argv[1] == '-f': from_address = sys.argv[2] del sys.argv[1] elif sys.argv[1] in ['-h', '--help']: usage(0) else: sys.stderr.write('%s: Unrecognized option: %s\n' % (sys.argv[0], sys.argv[1])) usage(1) del sys.argv[1] body = sys.stdin.read() if only_if_nonzero and len(body) == 0: sys.exit(0) if ignore_content is not None and ignore_content == body: sys.exit(0) mailer = mailer_mod.Mailer(account) mailer.send( from_address=from_address, to_address=to_address, subject=subject, body=body, ) main()