contact += '@mit.edu'
msg = MIMEText(message % vm)
msg['To'] = contact
- msg['CC'] = 'XVM <xvm@mit.edu>'
- msg['Reply-To'] = 'XVM <xvm@mit.edu>'
msg['From'] = opts.from_addr
+ msg['Reply-To'] = 'XVM <xvm@mit.edu>'
msg['Subject'] = opts.subject % vm
smtp.sendmail(opts.from_addr,
- [contact, 'xvm@mit.edu'],
+ [contact],
+ msg.as_string())
+ return msg.as_string()
+
+def send_summary(smtp, opts, messages):
+ msg = MIMEText('\n\n\n'.join(messages))
+ msg['To'] = 'xvm@mit.edu'
+ msg['From'] = opts.from_addr
+ msg['Subject'] = ("xvm outage-mail summary (%d): %s"
+ % (len(messages), opts.subject))
+ smtp.sendmail(opts.from_addr,
+ ['xvm@mit.edu'],
msg.as_string())
def main(argv):
s = smtplib.SMTP()
s.connect()
+ messages = []
for vm in vms:
- send_mail(s, opts, message, vm)
+ messages.append(send_mail(s, opts, message, vm))
+ send_summary(s, opts, messages)
s.close()