If you are looking for something similar to MailChimp or ConstantContact - but run controlled by you and run off of your server - take a look at Sendy.co. (Yes it is dot CO and not dot COM.)
Geek answer: Amazon AWS. Set up a ECS task or something like that, this can raise SNS messages based on the code your write and can be picked up by SES to send your emails. If it's spam though it's not going to be acceptable...