Hi Manav. For most of this, one word: ezmlm (www.ezmlm.org). For the
rest...

>>>>> "manav" == manav  <[EMAIL PROTECTED]> writes:

>     1.2 For each blast we want to handle the bounced emails individually (we
> would need to update the appropriate table). What do we do for that? We
> cannot just "set" environment variables since there will be multiple
> mail-merges and blasts happening simultaneously.

Mailing list is the word I think you are after. See above...

>     1.3 Usually after about 5,000 deliveries, the messages would be stuck in
> the queue. We then added the CNAME lookup patch, and this increased to about
> 10,000. Currently, we "prune" the lists uploaded by the users and send
> messages in chunks of 2000, with less than 30 concurrent messages. Any
> suggestions what could be the culprit? What can we do to circumvent this
> problem?

The only reason I can see why you would want to do this would be if
you are customising the message for each individual user. If you
are... you will probably want a bit more processing power (ie: more
servers) than this. It is well known that qmail doesn't really enjoy
having 10,000+ e-mails in the queue...

>     1.4 What would be the best possible way to handle unsubscribe requests.
> Currently we invoke a java program from the .qmail file that updates the
> database. Any suggestions how this can be improved upon?

Ezmlm

> 2. We then decided to switch over to using qmail-remote, to circumvent the
> queue and the logging problem. This effectively means we will have to do our
> own logging. Is there anyway to hand over different messages to qmail-remote
> rather than invoking it for each message? We have now decided to change the
> implementation so that at any point of time, there will be as many threads
> sending messages as the qmail concurrency (say around 100), and the messages
> themselves will be broken into chunks of 300 to 500 each. How can we improve
> this?

Ezmlm looks after all of this for you. It is probably easier to hack
up ezmlm-idx to customise messages, than to make your own do
everything that ezmlm does.

> 3. Currently, we have our own implementation for checking bad e-mail
> addresses, list management, handling bounces and mail-merge. Are
> there any guidelines/sample code available (any language), that we
> can look at?

Ezmlm...

> 4 . What other things should we keep in mind to provide stability to
> the system? What patches to qmail are advisable to be installed?
> What should be the typical server configuration for such a system?

If you are customising messages, you definitely need parallel
processing or clustering. Also, that 128kb line is a MAJOR
bottleneck...

Oh, and RedHat 6.2 is not the best server distribution. I use it on a
number of my servers, but am moving them to Mandrake (for now) until I
find the time to investigate other alternatives such as Turbo Linux
and Debian. Mandrake can be made to work a lot better for you than
RedHat, and so far 8.0 has MUCH less bugs in the components than most
RedHat versions...

> 5. On a parallel note, what would be the best algorithm to track
> forwarded messages? We make use of cookies right now (but that
> provides 50% accuracy).

We use a blank 1x1pixel gif in our e-mails that is like:
<a href="http://my.server.com/cgi-bin/emailcount.pl?2001-06-22-Email-1"; width=1 
height=1>

That perl script then does whatever it has to (it logs the relevant
data to a file, and increases the count in another file) and then
returns a 1x1 pixel GIF, using the GD library, from
memory... Obviously this requires an HTML e-mail to be going out, but
if you're using cookies then you are obviously already there!

By the way, the parameter on the perl script (?2001-06-blah) is so
that we can use the same script for each e-mail that goes out, and
just change the parameter so that we can count for different
mailouts. On that note, Hotmail doesn't allow the forwarding of HTML
e-mail. I don't know about the other major free e-mail providers.

HTH

Brett.
-- 
Smash forehead on keyboard to continue

Reply via email to