class Net::IMAP::SASL::DigestMD5Authenticator

def digest_uri

would have a "digest-uri" value of "smtp/mail3.example.com/example.com".
value of "ftp/ftp.example.com"; the SMTP server from the example above
example, the FTP service on "ftp.example.com" would have a "digest-uri"
to connect, formed from the serv-type, host, and serv-name. For
Indicates the principal name of the service with which the client wishes
>>>
From RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]:
def digest_uri
  if service_name && service_name != host
    "#{service}/#{host}/#{service_name}"
  else
    "#{service}/#{host}"
  end
end