Skip to content

Instantly share code, notes, and snippets.

@hackerkid
Forked from sosukeinu/send-message.py
Last active September 18, 2022 17:36
Show Gist options
  • Save hackerkid/cad2902d198d9b29b2bddd3e25f60af9 to your computer and use it in GitHub Desktop.
Save hackerkid/cad2902d198d9b29b2bddd3e25f60af9 to your computer and use it in GitHub Desktop.
Python script to send EML file using gmail SMTP server
#!/usr/bin/env python
# -*- mode: python; coding: utf-8-unix -*-
import sys
import os.path
import smtplib
if len(sys.argv) <= 2:
print('Usage:')
print(' $ python ' + sys.argv[0] + ' mailfrom rcptto <emlfile>')
print
print('Parameter:')
print(' mailfrom: MAIL FROM address.')
print(' rcptto: RCPT TO address.')
print(' emlfile: Message file in eml format. When emlfile is not specified, an empty message will be send.')
print
print('Example:')
print(' $ python ' + sys.argv[0] + ' [email protected] [email protected] mail.eml')
sys.exit(0)
server = 'localhost'
port = 25
mailfrom = sys.argv[1]
rcptto = sys.argv[2].split(',')
message = ''
if len(sys.argv) >= 4:
filename = sys.argv[3]
if not os.path.isfile(filename):
print('File "' + filename + '" not found.')
sys.exit(0)
with open(filename) as f:
message = f.read()
smtp = None
try:
smtp = smtplib.SMTP('smtp.gmail.com:587')
smtp.starttls()
smtp.login('email', 'password')
smtp.sendmail(mailfrom, rcptto, message)
except Exception as e:
print('Failed to send mail.')
print(str(e))
else:
print('Succeeded to send mail.')
finally:
if smtp != None:
smtp.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment