google.cloud.forseti.common.util.email.sendgrid_connector module

Sendgrid email connector module.

class SendgridConnector(sender, recipient, auth, custom=None)[source]

Bases: google.cloud.forseti.common.util.email.base_email_connector.BaseEmailConnector

Utility for sending emails using Sendgrid API Key.

_abc_cache = <_weakrefset.WeakSet object>
_abc_negative_cache = <_weakrefset.WeakSet object>
_abc_negative_cache_version = 208
_abc_registry = <_weakrefset.WeakSet object>
static _add_recipients(email, email_recipients)[source]

Add multiple recipients to the sendgrid email object.

Parameters:
  • email (SendGrid) – SendGrid mail object
  • email_recipients (Str) – comma-separated text of the email recipients
Returns:

SendGrid mail object with multiple recipients.

Return type:

SendGrid

_execute_send(email)[source]

Executes the sending of the email.

This needs to be a standalone method so that we can wrap it with retry, and the final exception can be gracefully handled upstream.

Parameters:email (SendGrid) – SendGrid mail object
Returns:urllib2 response object
Return type:dict
classmethod create_attachment(file_location=None, content_type=None, filename=None, disposition='attachment', content_id=None)[source]

Create a SendGrid attachment.

SendGrid attachments file content must be base64 encoded.

Parameters:
  • file_location (str) – The path of the file.
  • content_type (str) – The content type of the attachment.
  • filename (str) – The filename of attachment.
  • disposition (str) – Content disposition, defaults to “attachment”.
  • content_id (str) – The content id.
Returns:

A SendGrid Attachment.

Return type:

Attachment

send(email_sender=None, email_recipient=None, email_subject=None, email_content=None, content_type=None, attachment=None)[source]

Send an email.

This uses the SendGrid API. https://github.com/sendgrid/sendgrid-python

The minimum required info to send email are: sender, recipient, subject, and content (the body)

Parameters:
  • email_sender (str) – The email sender.
  • email_recipient (str) – The email recipient.
  • email_subject (str) – The email subject.
  • email_content (str) – The email content (aka, body).
  • content_type (str) – The email content type.
  • attachment (Attachment) – A SendGrid Attachment.
Raises:

EmailSendError – An error with sending email has occurred.