网上看过不少类似的脚本,这个是我自己修改来给自己用的,支持发附件
用法:gmail.py gmail.rar
#!/usr/bin/env pythonimport os, sys, email, smtplib, hashlib
SMTP_HOST = ’smtp.gmail.com’
SMTP_PORT = 587
#set by yourself
SMTP_USER = ‘from@gmail.com’
TO_ADDR = ‘to@gmail.com’
def main():
if len(sys.argv) == 1:
print ‘please specify files to submit’
sys.exit(1)
filelist = sys.argv[1:]
total = len(filelist)
progress = 0
for filename in filelist:
progress += 1
data = open(filename, ‘rb’).read()
sha1 = hashlib.sha1(data).hexdigest()
base = os.path.basename(filename)
print ‘%d of %d: %s (%s)’ % (progress, total, base, sha1)
msg = email.MIMEMultipart.MIMEMultipart()
msg['From'] = SMTP_USER
msg['To'] = TO_ADDR
msg['Date'] = email.Utils.formatdate()
msg['Subject'] = subject
part = email.MIMEBase.MIMEBase(’application’, ‘octet-stream’)
part.set_payload(data)
email.Encoders.encode_base64(part)
part.add_header(’Content-Disposition’, ‘attachment; filename=”%s”‘ % base)
msg.attach(part)
smtp = smtplib.SMTP(host=SMTP_HOST, port=SMTP_PORT)
if SMTP_USER and SMTP_PASS:
smtp.starttls()
smtp.login(SMTP_USER, SMTP_PASS)
smtp.sendmail(SMTP_USER, TO_ADDR, msg.as_string())
smtp.close()
if __name__ == ‘__main__’:
SMTP_PASS=raw_input(”password:\n”)
subject=raw_input(”subject:\n”)
main()