Guest User

Untitled

a guest
Aug 5th, 2018
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. """
  2. In Development, possible to use GAE Mail service to send out emails.
  3. Add these lines:
  4.  
  5. smtp.ehlo()
  6. smtp.starttls()
  7. smtp.ehlo()
  8.  
  9. at google-cloud-sdk/platform/google_appengine/google/appengine/api/mail_stub.py
  10. after smtp.connect
  11.  
  12. and run this command:
  13. dev_appserver.py --smtp_host=smtp.gmail.com --smtp_port=587 --smtp_user=sender@gmail.com --smtp_password=sender_password app.yaml
  14.  
  15. """
  16.  
  17. import os
  18. import csv
  19. import datetime
  20. import lib.cloudstorage as gcs
  21.  
  22. from google.appengine.api import mail
  23. from google.appengine.api import app_identity
  24.  
  25. bucket_name = os.environ.get('BUCKET_NAME',
  26. app_identity.get_default_gcs_bucket_name())
  27. bucket = '/'+bucket_name
  28. file = 'data-{}.csv'.format(datetime.datetime.today().strftime('%Y-%m-%d'))
  29. filename = bucket + '/' + file
  30.  
  31. write_retry_params = gcs.RetryParams(backoff_factor=1.1)
  32. gcs_file = gcs.open(filename,
  33. 'w',
  34. content_type='text/csv',
  35. options={'x-goog-meta-foo': 'foo',
  36. 'x-goog-meta-bar': 'bar'},
  37. retry_params=write_retry_params)
  38.  
  39. data = getData()
  40.  
  41. writer = csv.writer(gcs_file, delimiter=',')
  42.  
  43. writer.writerow(['ColName1', 'ColName2'])
  44. for row in data:
  45. writer.writerow(['Field1','Field2'])
  46. gcs_file.close()
  47.  
  48. gcs_file = gcs.open(filename)
  49. contents = gcs_file.read()
  50. gcs_file.close()
  51.  
  52. message = mail.send_mail(
  53. sender="sender@gmail.com",
  54. to = "receiver@gmail.com",
  55. body = 'Hello! Check out the attachment for data on {}'.format(file),
  56. subject="READ THIS",
  57. attachments=[(file),(contents)])
Add Comment
Please, Sign In to add comment