Ваш сервлет работает на сервере. Поэтому все, что вам нужно, это создать бесконечный цикл, который регулярно проверяет, нужно ли отправлять электронное письмо.
Примерно так:
public void run()
{
isRunning = true;
while (isRunning)
{
performSomething();
try
{
Thread.sleep(someInterval);
}
catch (InterruptedException e)
{
isRunning = false;
}
}
Где выполнять что-то (); Метод является синхронизированным методом:
public synchronized void performSomething()