PageRenderTime 66ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/boto-2.5.2/bin/pyami_sendmail

#
#! | 52 lines | 48 code | 4 blank | 0 comment | 0 complexity | b40b5c6f881538fcbb4f34e35c7a2517 MD5 | raw file
  1. #!/usr/bin/env python
  2. # Copyright (c) 2010 Chris Moyer http://coredumped.org/
  3. #
  4. # Permission is hereby granted, free of charge, to any person obtaining a
  5. # copy of this software and associated documentation files (the
  6. # "Software"), to deal in the Software without restriction, including
  7. # without limitation the rights to use, copy, modify, merge, publish, dis-
  8. # tribute, sublicense, and/or sell copies of the Software, and to permit
  9. # persons to whom the Software is furnished to do so, subject to the fol-
  10. # lowing conditions:
  11. #
  12. # The above copyright notice and this permission notice shall be included
  13. # in all copies or substantial portions of the Software.
  14. #
  15. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  16. # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
  17. # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
  18. # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  19. # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  20. # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  21. #
  22. # Send Mail from a PYAMI instance, or anything that has a boto.cfg
  23. # properly set up
  24. #
  25. VERSION="0.1"
  26. usage = """%prog [options]
  27. Sends whatever is on stdin to the recipient specified by your boto.cfg
  28. or whoevery you specify in the options here.
  29. """
  30. if __name__ == "__main__":
  31. from boto.utils import notify
  32. import sys
  33. from optparse import OptionParser
  34. parser = OptionParser(version=VERSION, usage=usage)
  35. parser.add_option("-t", "--to", help="Optional to address to send to (default from your boto.cfg)", action="store", default=None, dest="to")
  36. parser.add_option("-s", "--subject", help="Optional Subject to send this report as", action="store", default="Report", dest="subject")
  37. parser.add_option("-f", "--file", help="Optionally, read from a file instead of STDIN", action="store", default=None, dest="file")
  38. parser.add_option("--html", help="HTML Format the email", action="store_true", default=False, dest="html")
  39. parser.add_option("--no-instance-id", help="If set, don't append the instance id", action="store_false", default=True, dest="append_instance_id")
  40. (options, args) = parser.parse_args()
  41. if options.file:
  42. body = open(options.file, 'r').read()
  43. else:
  44. body = sys.stdin.read()
  45. if options.html:
  46. notify(options.subject, html_body=body, to_string=options.to, append_instance_id=options.append_instance_id)
  47. else:
  48. notify(options.subject, body=body, to_string=options.to, append_instance_id=options.append_instance_id)