This can be achieved by using BackEndWorkFlow. When you create a message, set the ScheduleAPI for 12 hours later, and BackEnd will only send an email if it has not been isRead.