Library
Module
Module type
Parameter
Class
Class type
Emile module, parser of e-mail address.
An e-mail address can contain as a phrase
an encoded string. Standards describe 2 kinds of encoding:
=
operator.Parser already decodes encoded
raw
, the client can use it as is.
The local part of an e-mail address is composer by two kinds of word:
`Atom
is string as is.`String
is a string surrounded by double-quote to allow white-space.type local = word list
Local part of e-mail address.
Subset of domain described by RFC5321 which contains 3 kinds of address:
IPv4
: a valid IPv4 addressIPv6
: a valid IPv6 addressExt (ldh, value)
: an extended kind of domain recognized by ldh
which valus is value
Parser of IPv4
and IPv6
was done by Ipaddr
. An extended kind need to be resolved by the client.
Domain part of e-mail address. A domain integrate kinds from RFC5321 (see addr
), a domain described by RFC5322 and a `Literal
which is the last best-effort value possible as a domain.
Emile
does not resolve domain.
A phrase is a sentence to associate a name with an e-mail address or a group. `Encoded
value is not normalized on the charset specifed. The encoded's string is decoded as is only.
Alias of String.compare
.
case_insensitive a b
maps lowercase_ascii
and compare them with String.compare
. We do not map UTF8 value.
equal_domains a b
apply equal_domain
to ordered domains (see compare_domain
) between a
and b
.
compare ?case_sensitive a b
compares mailbox
a
and mailbxo
b
semantically. We prioritize local-part, domain-part and finally optionnal name.
module List : sig ... end