MailChariot's only mission is to get your incoming email (for example from /var/spool/mail), filter it through a spam filter, and put it into a spam or ham mailbox. If you don't agree with the spam filter's decision, you can move it to the notspam or notham mailbox and MailChariot will mark the message as ham or spam respectively. This design is mail client agnostic. It is ideal for use on shared hosts where the provided spam filtering is not effective enough.
libtld is a library used to extract the TLD from a URI and to check email validity. This allows you to extract the exact domain name, sub-domains, and all the TLD (top level, second level, third level, etc.). The problem with TLDs is that you cannot know where the domain starts. Some domains can use one top-level domain, others use two, etc. However, it may be useful to know where the domain is to have the exact list of sub-domains. For example, if you want to force www. at the start of the domain name if no other sub-domains are specified, then you need to know exactly how many TLD are defined in a URI. The libtld offers one main function: tld(), which gives you a way to extract the TLD from any URI. The result is the offset where the TLD starts. This gives you enough information to extract everything else you need. For emails, the library is capable of parsing a string that represents a list of email addresses to be verified. The verification includes a check of the domain name and its TLD.