tabella_utenti
id_utente - contatore
nome_utente - testo
...
email_utente - testo

tabella_prodotti
id_prodotto - contatore
...
quantita_prodotto - numerico

tabella_avvisi
id_avviso - contatore
id_utente - numerico
id_prodotto - numerico

Nella pagina che visualizza il prodotto, se la quantità di prodotto disponibile è minore di 1 allora fai apparire il tasto (o link) da premere per registrarsi ed essere informati via email appena il prodotto torna ad essere disponibile.
codice:
if rs("quantita_prodotto") < 1 then
response.write "Aggiornami quando il prodotto è disponibile"
end if
La pagina informautente.asp prende l'id del prodotto dalla queryString e l'id dell'utente dal cookies o dalla session e inserisce i dati nella tabella tabella_avvisi
codice:
idProd = request.queryString("idProd")
idUtente = session("id_utente") ' oppure request.cookies("nomeCookies")("id_utente")
...
...
sql1 = "SELECT id_utente, id_prodotto FROM tabella_avvisi WHERE id_utente = " & idUtente & " AND id_prodotto = " & idProd
set rs = conn.execute(sql1)

if not rs.eof then
response.write "La notifica per questo prodotto è già attiva"
else

sql2 = "INSERT INTO tabella_avvisi (id_utente, id_prodotto) VALUES(" & idUtente & ", " & idProd & ")"
conn.execute(sql2)
response.write "Verrai informato via email appena il prodotto tornerà disponibile"

end if
rs.close
set rs = nothing
...
...
Nel tuo sistema di Admin, ogni volta che modifichi un prodotto, se il suo valore di quantita_prodotto diviene superiore a 0, allora fai partire l'email di notifica verso tutti gli utenti che l'hanno richiesta. Ovviamente ad ogni notifica effettuata dovrai eliminare il record dalla tabella_avvisi.

codice:
...
...
if rs("quantita_prodotto") > 0 then

sql2 = "SELECT * FROM tabella_avvisi WHERE id_prodotto = " & rs("id_prodotto")
set rs2 = conn.execute(sql2)
if not rs2eof then
do until rs2.eof

id_avviso = rs2("id_avviso")
id_utente = rs2("id_utente")
id_prodotto = rs2("id_prodotto")
sql3 = "SELECT nome_utente, email_utente FROM tabella_utenti WHERE id_utente = " & id_utente
set rs3 = conn.execute(sql3)
if not rs3.eof then
nome_utente = rs3("nome_utente")
email_utente = rs3("email_utente")
end if

sql4 = "SELECT nome_prodotto FROM tabella_prodotti WHERE id_prodotto = " & id_prodotto

set rs4 = conn.execute(sql4)
if not rs4.eof then
nome_prodotto = rs4("nome_prodotto")
end if
rs4.close
set rs4 = nothing

set mail = server.createObject("CDONTS.newMail")
mail.To = email_utente
mail.From = "admin@tuosito.it"
mail.Subject = "Avviso disponibilità prodotto " & nome_prodotto
mail.Body = "Gentile " & nome_utente & ", " &_
            "ti informiamo che il prodotto " & nome_prodotto &_
            " è di nuovo disponibile." &_
            "Saluti"
mail.send
set mail = nothing

sql5 = "DELETE * FROM tabella_avvisi WHERE id_avviso = " & id_avviso
conn.execute(sql5) 

rs2.moveNext
loop
end if

rs2.close
set rs2 = nothing

end if
...
...