Alright, I got it all working finally. You won't believe how complex delivering e-mail has become for us. When you do something that makes the Caravel website send an e-mail, like requesting a download link, here is what happens:
* The e-mail message is stored in a database queue with all the parts needed to send the message later.
* A background process grabs messages from the database queue taking into account their assigned priority, when they entered the queue, and the last time an e-mail message was sent to the same server. The main thing this logic does is keep us from sending a 1000 e-mails to Hotmail at one time and getting ourselve's blocked for future mail.
* The background process connects to a remote SMTP server that is hosted by benevolent DROD patron, Jamie Jones. This connection is made through a private SSH tunnel between the two servers. We don't want the hosting provider noticing hefty chunkloads of SMTP traffic between servers and then misclassifying us as spammers. (This happened once about three years ago.)
The new mail gets delivered from "
caravelgames3.com"
because we don't want the name host provider for "
caravelgames.com"
noticing hefty chunkloads of MX and SPF lookups against the same domain name that our webhosting is on and shutting down our website. (This happened once this year.) We are actually using separate name hosting companies to insulate the website from any bad attention given to Jamie's bulk-mailing server.
Between myself, Jamie, and Schik, we've devoted hundreds of hours to solving the problem of delivering large amounts of mail to people that actually asked to receive it.
-Erik
____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
dev journals |
twitch stream |
youtube archive (NSFW)