Det sista du nämde verkar vara det vettigaste. Problemet är att man troligtvis får skapa en ny tabell som innehåller användar-ID och forum-ID för de olika "prenumerationerna". Sen får man redigera post.php och se till att forum_subscribe(), eller vad man nu kallar funktionen, anropas så fort ett nytt inlägg görs. Det denna funktion då skall göra är att söka efter alla poster i prenumerationstabellen som innehåller rätt forum-ID och skicka mail till alla de användarna. Nu när jag läser vad jag precis skrev så var det kanske sjävlklart :-)
Min nuvarande lösning med en kolumn i topics-tabellen för trådprenumerationer är egentligen lite av ett fulhack. Den informationen borde ligga i en egen tabell (för att undvika s.k. strukturerat null).
Edit: Det kan vara värt att tänka på hur flitigt funktionen kommer att användas. Varje gång ett nytt inlägg postas så skall det skickas mail till X antal medlemmar. Visst, att skicka ett mail är inte direkt någon resurskrävande operation, men om medlemmarna "missbrukar" funktionen kan det blir en faktor att räkna med.
"Programming is like sex: one mistake and you have to support it for the rest of your life."