The only way I was able to mitigate rate limiting and black listing was to use actual physical Macs, only host a low number of users on each Mac, and put each Mac on its own physical internet connection. I also had to rate limit users and prevent them from sending the same message to many recipients as that would cause the machine to get blacklisted. Because of this I determined it would be nearly impossible to scale up without charging exorbitant amounts of money, which you seem to have avoided with your $20/mo rate which seems very reasonable.
Can you share answers to any of these. Totally understand if some of these are secret sauce and you can't answer:
- how you are preventing or mitigating blacklisting and rate limiting?
- what are you doing to detect when you are blacklisted?
- what is your remediation once you've detected that you are blacklisted?
- how are you handling scaling up your numbers of users?
- how are you sending/receiving the messages? (I'm curious: did you write your own solution that talks to iCloud services or are you abusing Messages.app and its corresponding SQLite database?)
- has anyone from Apple contacted you? are they okay with it?
Anyways, cool service, good luck!