class WcoEmail::ApplicationMailer

def send_context_email ctx_id

def send_context_email ctx_id
  @ctx         = Ctx.find ctx_id
  @renderer    = self.class.renderer ctx: @ctx
  rendered_str = @renderer.render_to_string("/wco_email/email_layouts/_#{@ctx.tmpl.layout}")
  rendered_subject = ERB.new( @ctx.subject ).result( @ctx.get_binding )
  if @ctx.lead.leadset.mangle_subject || @ctx.email_template.mangle_subject
    ## From: https://www.ascii-code.com/
    n1 = 33
    n2 = 64
    ch1 = ( rand(n2-n1)+n1 ).chr # ('UTF-8')
    ch2 = ( rand(n2-n1)+n1 ).chr
    if rendered_subject.last.ord >= n1 &&
       rendered_subject.last.ord <= n2
      space_idx = rendered_subject.rindex(/ /)
      rendered_subject = rendered_subject[0...space_idx]
    end
    rendered_subject = "#{rendered_subject} #{ ch1 }#{ ch2 }"
  end
  @ctx.update({
    rendered_str: rendered_str,
    sent_at:      Time.now,
    subject:      rendered_subject,
  })
  mail( from:    @ctx.from_email,
        to:      @ctx.to_email,
        cc:      @ctx.cc,
        ## 2024-07-30 I'm no longer sending these to google.
        # bcc:     "poxlovibb1@gmail.com",
        subject: rendered_subject,
        body:    rendered_str,
        content_type: "text/html" )
end