예제 #1
0
 def get_to_addrs_email_messages_map(self, sqs_message):
     to_addrs_to_resources_map = self.get_email_to_addrs_to_resources_map(
         sqs_message)
     to_addrs_to_mimetext_map = {}
     for to_addrs, resources in to_addrs_to_resources_map.items():
         to_addrs_to_mimetext_map[to_addrs] = get_mimetext_message(
             self.config, self.logger, sqs_message, resources,
             list(to_addrs))
     # eg: { ('*****@*****.**', '*****@*****.**'): mimetext_message }
     return to_addrs_to_mimetext_map
예제 #2
0
    def get_to_addrs_sendgrid_messages_map(self, queue_message):
        # eg: { ('*****@*****.**', '*****@*****.**'): [resource1, resource2, etc] }
        to_addrs_to_resources_map = self.get_email_to_addrs_to_resources_map(
            queue_message)

        to_addrs_to_content_map = {}
        for to_addrs, resources in to_addrs_to_resources_map.items():
            to_addrs_to_content_map[to_addrs] = get_mimetext_message(
                self.config, self.logger, queue_message, resources,
                list(to_addrs))
        # eg: { ('*****@*****.**', '*****@*****.**'): message }
        return to_addrs_to_content_map
예제 #3
0
 def run(self, dry_run=False, print_only=False):
     emd = EmailDelivery(self.config, self.session, logger)
     addrs_to_msgs = emd.get_to_addrs_email_messages_map(self.data)
     logger.info('Would send email to: %s', addrs_to_msgs.keys())
     if print_only:
         mime = get_mimetext_message(self.config, logger, self.data,
                                     self.data['resources'],
                                     ['*****@*****.**'])
         logger.info('Send mail with subject: "%s"', mime['Subject'])
         print(mime.get_payload(None, True).decode('utf-8'))
         return
     if dry_run:
         for to_addrs, mimetext_msg in addrs_to_msgs.items():
             print('-> SEND MESSAGE TO: %s' % '; '.join(to_addrs))
             print(mimetext_msg.get_payload(None, True).decode('utf-8'))
         return
     # else actually send the message...
     for to_addrs, mimetext_msg in addrs_to_msgs.items():
         logger.info('Actually sending mail to: %s', to_addrs)
         emd.send_c7n_email(self.data, list(to_addrs), mimetext_msg)
예제 #4
0
 def test_cc_email_functionality(self):
     email = get_mimetext_message(self.email_delivery.config,
                                  self.email_delivery.logger, SQS_MESSAGE_4,
                                  SQS_MESSAGE_4['resources'],
                                  ['*****@*****.**'])
     self.assertEqual(email['Cc'], '[email protected], [email protected]')