OLD | NEW |
(Empty) | |
| 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 # |
| 23 # Send Mail from a PYAMI instance, or anything that has a boto.cfg |
| 24 # properly set up |
| 25 # |
| 26 VERSION="0.1" |
| 27 usage = """%prog [options] |
| 28 Sends whatever is on stdin to the recipient specified by your boto.cfg |
| 29 or whoevery you specify in the options here. |
| 30 """ |
| 31 |
| 32 if __name__ == "__main__": |
| 33 from boto.utils import notify |
| 34 import sys |
| 35 from optparse import OptionParser |
| 36 parser = OptionParser(version=VERSION, usage=usage) |
| 37 parser.add_option("-t", "--to", help="Optional to address to send to (defaul
t from your boto.cfg)", action="store", default=None, dest="to") |
| 38 parser.add_option("-s", "--subject", help="Optional Subject to send this rep
ort as", action="store", default="Report", dest="subject") |
| 39 parser.add_option("-f", "--file", help="Optionally, read from a file instead
of STDIN", action="store", default=None, dest="file") |
| 40 parser.add_option("--html", help="HTML Format the email", action="store_true
", default=False, dest="html") |
| 41 parser.add_option("--no-instance-id", help="If set, don't append the instanc
e id", action="store_false", default=True, dest="append_instance_id") |
| 42 |
| 43 (options, args) = parser.parse_args() |
| 44 if options.file: |
| 45 body = open(options.file, 'r').read() |
| 46 else: |
| 47 body = sys.stdin.read() |
| 48 |
| 49 if options.html: |
| 50 notify(options.subject, html_body=body, to_string=options.to, append_ins
tance_id=options.append_instance_id) |
| 51 else: |
| 52 notify(options.subject, body=body, to_string=options.to, append_instance
_id=options.append_instance_id) |
OLD | NEW |