1

Currently in our application admin of a company invite multiple users to system. Our design is: take admin chosen separated email addresses, check user if exist and member of current company do nothing. if exist but not member of current company do some setup and add to company and send welcome email. if not not exist set user account add to company and send invitation email. But there is a hard roadblock. Admins want to invite up to 5000 emails. Because of currently we invite in web application and send email one by one (we have to, because of uniqueness and activation code) admin can't invite more than 20-30 emails at same time, because of timeout.

I thought to take email to another table and do operation with timer? What is the best practice for this ?

Enviorenment ASP.NET MVC2 on amazon-ec2 server. Also we have timer quartz.net

gandil
  • 5,398
  • 5
  • 24
  • 46
  • 1
    Just 1: give people more than 29 minutes to answer. Nagging will only add clutter; be patient, and if someone can help you they will. – Ken White Jun 03 '11 at 20:19
  • you are absolutely right Ken. I didn't check submission time. it was like a day for me :) – gandil Jun 03 '11 at 20:35

1 Answers1

1

I come from a linux/PHP background but it seems to me your problem can be solved with a queue?

You basically get all the emails you need sending add them to the queue and have another process take a few emails off the head of the queue and send. Rise, repeat until queue is empty.

Since you are on EC2, have you taken a look at how Amazon SQS might be able to help? If you want a readymade component, I googled and found this email queue component for asp.net that seems to solve the exact problem you are having (although will cost you $)

Jay Sidri
  • 6,271
  • 3
  • 43
  • 62