ASP.NET auto generating unique pages that have a lifespan

Hi Experts

I need to develope a system, where by at the start of every month, an email is sent out to every client. In that email, will exist a unique URL. The client can click on the link and go straight to a grid tool that we already have partly developed (allowing them to manipulate tracked data etc). At the end of the month, the link will no longer work and a new email will be sent. The idea is to not have the user enter a password or username, ever.

I am sure this is possible in ASP.NET. But I don't know how, 'exactly', hence asking here. I wonder if anyone has any examples of something like this already in action or some advice on how to go about developing this.

Thanks for any assistance.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Hello gcz

Do you know how to send the E-Mails?

Regarding the link in the emails, have a token parameter for each link which will only be valid for that month and will contain the user id etc.... On the page that the link is pointing to, have it decode the token to check the month, user id etc...

Here is some sample code which can do that:


Richard Hughes
int userId = 56812;
			DateTime month = DateTime.Now;
			month.AddMonths(1); // set the link to only work for next month

			// you may want to encrypt the token a bit more than this
			// see these urls for some possible ways depending on your needs:
			string token = String.Format("UserId={0}&Date={1}", userId, month);
			token = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(token));

			string url = String.Format("{0}", token);

Open in new window

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
gczAuthor Commented:
Many thanks, I haven't got to the stage of learning how to send the emails yet. Unfortunately, I need to start learning asp from the ground up. I've done similar in PHP before though, so imagin sending the email wont be that hard.

Your response has let me know that this is more than a managable project.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.