AFAIK SMTP-сервер немедленно отправляет электронные письма, поэтому вам нужно сохранить эту очередь в вашем приложении (или использовать MSMQ в качестве хранилища очередей), и некоторая часть вашего приложения выполняет доставку в нужное время.
ВВ этом вопросе мой вопрос: если вы можете отправлять, когда вы знаете, что пришло время отправлять, вы не можете отправить напрямую позже, не используя очередь, или у вас есть какая-либо логика в вашем приложении, чтобы электронная почта, которую вы генерировали сегодня, не моглагенерироваться позднее?
Я бы, вероятно, создал службу Windows или, что еще лучше, назначил бы задачу, вызывающую мое приложение каждый день в полночь, тогда приложение проверяет, кому электронная почта должна быть отправлена прямо сейчас, создаетэто и отправляет это.