code: def create(sender, recipients=None, cc=None, bcc=None, subject='', message='',
             html_message='', context=None, scheduled_time=None, headers=None,
             template=None, priority=None, render_on_delivery=False, commit=True,
             backend=''):
      
      priority = parse_priority(priority)
      status = None if priority == PRIORITY.now else STATUS.queued
  
      if recipients is None:
          recipients = []
      if cc is None:
          cc = []
      if bcc is None:
          bcc = []
      if context is None:
          context = ''
  
      # If email is to be rendered during delivery, save all necessary
      # information
      if render_on_delivery:
          email = Email(
              from_email=sender,
              to=recipients,
              cc=cc,
              bcc=bcc,
              scheduled_time=scheduled_time,
              headers=headers, priority=priority, status=status,
              context=context, template=template, backend_alias=backend
          )
  
      else:
  
          if template:
              subject = template.subject
              message = template.content
              html_message = template.html_content
  
          _context = Context(context or {})
          subject = Template(subject).render(_context)
          message = Template(message).render(_context)
          html_message = Template(html_message).render(_context)
  
          email = Email(
              from_email=sender,
              to=recipients,
              cc=cc,
              bcc=bcc,
              subject=subject,
              message=message,
              html_message=html_message,
              scheduled_time=scheduled_time,
              headers=headers, priority=priority, status=status,
              backend_alias=backend
          )
  
      if commit:
          email.save()
  
      return email
docs: Creates an email from supplied keyword arguments. If template is
      specified, email subject and content will be rendered during delivery.