hackbat

Kindle Email

Nov 4th, 2011
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.10 KB | None | 0 0
  1. import smtplib
  2. from email.MIMEMultipart import MIMEMultipart
  3. from email.MIMEBase import MIMEBase
  4. from email.MIMEText import MIMEText
  5. from email.Utils import COMMASPACE, formatdate
  6. from email import Encoders
  7. import os
  8. import sys
  9. import urllib
  10. import urllib2
  11. import urlparse
  12. import win32clipboard
  13.  
  14. ##get text from clipboard
  15. win32clipboard.OpenClipboard()
  16. promptinput = win32clipboard.GetClipboardData()
  17. win32clipboard.CloseClipboard()
  18.  
  19. ##promptinput = raw_input("URL?\n")
  20.  
  21. ##check if text is HTTP or FTP
  22. req = urllib2.Request(promptinput)
  23. urltype = req.get_type()
  24. if urltype != "http":
  25.     print urltype
  26.     input("NO URL!")
  27.     quit()
  28. ##use "dirty" url to find clean url
  29. cleanurlraw = urllib2.urlopen(promptinput)
  30. cleanurl = cleanurlraw.geturl()
  31. ##parse url for then find filename with basename
  32. urlinfo = urlparse.urlparse(cleanurl)
  33. basefilename = os.path.basename(urlinfo[2])
  34. ##download file using dirty url
  35. urllib.urlretrieve (promptinput, basefilename)
  36.  
  37. def sendMail(to, subject, text, files=[],server='smtp.gmail.com:587'):
  38.     assert type(to)==list
  39.     assert type(files)==list
  40.     fro = "Jeremy's Kindle <emailaccount@gmail.com>"
  41.     msg = MIMEMultipart()
  42.     msg['From'] = fro
  43.     msg['To'] = COMMASPACE.join(to)
  44.     msg['Date'] = formatdate(localtime=True)
  45.     msg['Subject'] = subject
  46.     msg.attach( MIMEText(text) )
  47.     for file in files:
  48.         part = MIMEBase('application', "octet-stream")
  49.         part.set_payload( open(file,"rb").read() )
  50.         Encoders.encode_base64(part)
  51.         part.add_header('Content-Disposition', 'attachment; filename="%s"'
  52.                        % os.path.basename(file))
  53.         msg.attach(part)
  54.     username = 'user'  
  55.     password = 'pass'
  56.     server = smtplib.SMTP(server)
  57.     server.set_debuglevel(1)
  58.     server.ehlo()
  59.     server.starttls()
  60.     server.ehlo()
  61.     server.login(username, password)
  62.     server.sendmail(fro, to, msg.as_string() )
  63.     server.quit()
  64. sendMail(["kindleaddress@free.kindle.com"],"Automated File Delivery: " + basefilename,"Delivered: " + basefilename,[basefilename])
  65. os.remove(basefilename)
  66.  
  67. input("FILE SENT!")
  68.  
  69.  
Add Comment
Please, Sign In to add comment