Hi,
Thank you for your job posting.
I have some experience in developing mailer using node and python.
1. whitelist / blacklist - There are several these list check api, we should use the apis.
2. regex - no problem.
3. mx - easy to check mx record form domain name server. (ex. $nslookup -type=mx domain)
4. mx blacklist - i don't know well what it means, actually blacklist are based on domain and ip. why you wanna check mx records.
5. smtp - Each SMTP has several mx records, and will try to connect to one by one. If not for all, the smtp is not valid.
Looking forward to hearing back from you soon.
Thank you.