Skip to content

Instantly share code, notes, and snippets.

@knmkr
Created November 1, 2016 07:30
Show Gist options
  • Select an option

  • Save knmkr/ca70b703e48e5eb2123465562a334bb1 to your computer and use it in GitHub Desktop.

Select an option

Save knmkr/ca70b703e48e5eb2123465562a334bb1 to your computer and use it in GitHub Desktop.

Revisions

  1. knmkr created this gist Nov 1, 2016.
    42 changes: 42 additions & 0 deletions send_mail.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-

    import argparse
    import smtplib

    FROM = 'myserveradmin@gmail.com'

    def _main():
    parser = argparse.ArgumentParser(description='')
    parser.add_argument('--to', nargs='+')
    parser.add_argument('--subject')
    parser.add_argument('--body-txt', type=file)
    args = parser.parse_args()

    domain = 'smtp.gmail.com'
    port = 465
    user = 'myserveradmin@gmail.com'
    password = 'password'

    try:
    server_ssl = smtplib.SMTP_SSL(domain, port)
    server_ssl.ehlo()
    server_ssl.login(user, password)

    to = args.to
    subject = args.subject or ''
    text = ''.join(args.body_txt.readlines()).strip()
    message = '''From: %s\nTo: %s\nSubject: %s\n\n%s
    ''' % (FROM, ', '.join(to), subject, text)

    server_ssl.sendmail(FROM, to, message)
    server_ssl.close()

    print message
    print 'Successfully sent the mail'

    except:
    print 'Failed to send mail'

    if __name__ == '__main__':
    _main()