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
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
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)
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]')