module Roda::RodaPlugins::Mailer::ResponseMethods

def finish

that the routing tree did not handle the request.
Return the email unless no body was set for it, which would indicate
to the email, as well as adding the response body to the email.
If the related request was an email request, add any response headers
def finish
  if m = mail
    header_content_type = @headers.delete(RodaResponseHeaders::CONTENT_TYPE)
    m.headers(@headers)
    m.body(@body.join) unless @body.empty?
    mail_attachments.each do |a, block|
      m.add_file(*a)
      block.call if block
    end
    if content_type = header_content_type || roda_class.opts[:mailer][:content_type]
      if mail.multipart?
        if /multipart\/mixed/ =~ mail.content_type &&
           mail.parts.length >= 2 &&
           (part = mail.parts.find{|p| !p.attachment && (p.encoded; /text\/plain/ =~ p.content_type)})
          part.content_type = content_type
        end
      else
        mail.content_type = content_type
      end
    end
    unless m.body.to_s.empty? && m.parts.empty? && @body.empty?
      m
    end
  else
    super
  end
end

def mail_attachments

The attachments related to the current mail.
def mail_attachments
  @mail_attachments ||= []
end