def test_equality_name(self): name = "SomeName" email1 = Email() email1.name = name email2 = Email() email2.name = name self.assertEqual(email1, email2)
def test_equality_different_name(self): name1 = "SomeName1" email1 = Email() email1.name = name1 name2 = "SomeName2" email2 = Email() email2.name = name2 self.assertNotEqual(email1, email2)
def get_message(self, **kwargs): """ Get message object for email """ config = get_configurations() message = Mail() if "from_email" in kwargs: sender = Email() message_content = kwargs.get("message_content", "") sender.name = kwargs.get("sender", config['SENDGRID']['sender']) sender.email = kwargs.get("from_email", config['SENDGRID']['fromemail']) message.from_email = sender if "subject" in kwargs: message.subject = kwargs.get("subject", "") if "text" in kwargs: content = Content("text/plain", kwargs.get("text", "")) message.add_content(content) if "html" in kwargs: content = Content("text/html", kwargs.get("html", "")) message.add_content(content) if "category" in kwargs: category = Category(kwargs.get("category", "")) message.add_category(category) personalization = self.create_personalization(**kwargs) if personalization: message.add_personalization(personalization) return message.get()
def get_message(self, **kwargs): """ Get message object for email """ message = Mail() if "from_email" in kwargs: sender = Email() message_content = kwargs.get("message_content", "") sender.name = message_content.get("sender", emailconf.DEFAULT_SENDER) sender.email = kwargs.get("from_email", emailconf.DEFAULT_SENDER_EMAIL) message.from_email = sender if "subject" in kwargs: message.subject = kwargs.get("subject", "") if "text" in kwargs: content = Content("text/plain", kwargs.get("text", "")) message.add_content(content) if "html" in kwargs: content = Content("text/html", kwargs.get("html", "")) message.add_content(content) if "category" in kwargs: category = Category(kwargs.get("category", "")) message.add_category(category) personalization = self.create_personalization(**kwargs) if personalization: message.add_personalization(personalization) return message.get()
def _process_email_addr(self, email_addr): from_name, from_email = rfc822.parseaddr(email_addr) # Python sendgrid client should improve # sendgrid/helpers/mail/mail.py:164 if not from_name: from_name = None email = Email() email.email = from_email email.name = from_name return email
def sendmail(subject, content, to): api_key = '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' sg = SendGridAPIClient(apikey=api_key) mail = Mail() email = Email() email.email = '*****@*****.**' email.name = 'Openwob' mail.from_email = email mail.subject = u'Openwob: ' + subject personalization = Personalization() for address in to: personalization.add_to(Email(address)) mail.add_personalization(personalization) mail.add_content(Content("text/plain", content)) sg.client.mail.send.post(request_body=mail.get())
def send_sendgrid(sendgrid_api_key=None, github_email_template=None, github_user_emails=None): assert sendgrid_api_key, "SendGrid API key is required" sg = SendGridAPIClient(apikey=sendgrid_api_key) metadata = github_email_template.metadata from_email = Email(metadata['from']) from_email.name = metadata['from_name'] for ge in github_user_emails: # Add github_user into metadata metadata['user'] = ge # Render content with metadata content = Content("text/html", github_email_template.render_content(metadata)) # Render subject with metadata subject = template_env.from_string( metadata['subject']).render(metadata) to_email = Email(ge.email) mail = Mail(from_email, subject, to_email, content) _body = mail.get() # Add custom args for log fields _custon = {} for key, value in metadata.iteritems(): if key not in ESSENTIAL_FIELDS: _custon[key] = value _custon['repository'] = metadata['repository'] _body['custom_args'] = _custon response = sg.client.mail.send.post(request_body=_body) if response.status_code > 300: # More than 300 means something wrong, do nothing. sys.exit()
def send_sendgrid(sendgrid_api_key=None, github_email_template=None, github_user_emails=None): assert sendgrid_api_key, "SendGrid API key is required" sg = SendGridAPIClient(apikey=sendgrid_api_key) metadata = github_email_template.metadata from_email = Email(metadata['from']) from_email.name = metadata['from_name'] for ge in github_user_emails: # Add github_user into metadata metadata['user'] = ge # Render content with metadata content = Content("text/html", github_email_template.render_content(metadata)) # Render subject with metadata subject = template_env.from_string(metadata['subject']).render(metadata) to_email = Email(ge.email) mail = Mail(from_email, subject, to_email, content) _body = mail.get() # Add custom args for log fields _custon = {} for key, value in metadata.iteritems(): if key not in ESSENTIAL_FIELDS: _custon[key] = value _custon['repository'] = metadata['repository'] _body['custom_args'] = _custon response = sg.client.mail.send.post(request_body=_body) if response.status_code > 300: # More than 300 means something wrong, do nothing. sys.exit()
def test_add_unicode_name_with_comma(self): email = Email() name = u"Name, Some" email.name = name self.assertEqual(email.name, u'"' + name + u'"')
def test_add_name_with_comma(self): email = Email() name = "Name, Some" email.name = name self.assertEqual(email.name, '"' + name + '"')
def test_empty_obj_add_name(self): email = Email() name = "SomeName" email.name = name self.assertEqual(email.name, name)
def test_add_unicode_name_with_comma(self): email = Email() name = u"Name, Some" email.name = name self.assertEqual(email.name, u'"' + name + u'"')
def test_add_name_with_comma(self): email = Email() name = "Name, Some" email.name = name self.assertEqual(email.name, '"' + name + '"')
def test_empty_obj_add_name(self): email = Email() name = "SomeName" email.name = name self.assertEqual(email.name, name)