Você poderia simplesmente usar o agendador de tarefas do sistema operacional ( cron
, Windows Task Scheduler
etc.) para executar um programa que envia o email.
A maioria dos aplicativos de calendário (desktop ou online) também permite que você envie e-mails quando os compromissos estão marcados.