package mrmime
Module MessageID.DomainSource
An RFC 822 domain can be constructed in two ways. This construction differs from Address.domain. We can construct a common domain via:
let isomorphism = Domain.(v domain [ a "isomorphis"; a "me" ]) ;;
val isomorphism : domain = `Domain ["isomorphis"; "me"]
Domain.to_string isomorphism ;;
- : string = "isomorphis.me"Or a literal domain:
let x25519 = Domain.(v literal "x25519") ;;
val x25519 : domain = `Literal "x25519"
Domain.to_string x25519 ;;
- : string = "[x25519]"atom x returns a safe atom element. If x does not respect RFC 5322, it returns None. It accepts any characters excepts controls, space and specials characters - for instance, brackets are not allowed.
literal x returns a literal domain. If x does not respect RFC 5321, it returns None. It will try to escape control characters (with escape_string).
Same as literal but raises an Invalid_argument instead to return None.
Same as make but raises an Invalid_argument instead None.
to_string x returns a string which represents x as is it in a e-mails.