in reply to Re: Email System Scalabilty
in thread Email System Scalabilty

my host only allows me to assign 1000 email addresses for my server. This is a hard limit that I have no way around unless I upgrade to a higher level plan. I have a solution that consists of having these three things:

1) a mysql database containing a list of my users

2) a single catch-all email address

3) a mail processing script that checks this address via crontab entry at a specified interval



NONE of the users in the mysql database have a actual email address on the system. Rather what they have is a "psuedo-email address". What is essentially happening here is that all mail addressed to anyone on the system is going into one account, that being the catch-all email address ( with headers set appropriately by the sending side of the transaction ) and then the mail processing script looks at the To: header in the transaction and compares that to the mysql database of users and then routes it to the appropriate mysql database for that users messages.

Following me now?

Replies are listed 'Best First'.
Re^3: Email System Scalabilty
by ig (Vicar) on Apr 18, 2009 at 09:38 UTC

    That's clearer. I take it that your service provider has an MTA that imposes the limit as it relays messages to your server, or perhaps its an honour system.

    How will you ensure the senders all set headers appropriately? Do you have control of the senders?

      it's not an incoming limit or an outgoing limit. what I am refering to is the number of individual email accounts that the system will allow you to have. I'm not claiming to want or need control of people sending mail to the server from remote locations. All the work is basicly already done for me. I'm running off the "Envelope" header that gets set when mail is sent to my server by the remote mail server ( be that coming from 'mail.example.com', 'mail.test.com' or whatever ). all hosts set this header on outgoing messages.

        If you have no control of the senders, I expect using a catch all email address will not work.

        How will the "psuedo-email address" be manifest in the messages your system receives?

        In addition to thinking about what your server will do, you also need to think about your outgoing messages and how other systems will deal with them. For example, what "From" address will recipients see? and What address will replies be sent to?