Here's my solution. It uses LoRa because I can't put an ESP32 on my school's network. It has a light dependent resistor that looks for something blocking the light.
It was made with a barebones Atmega328p microcontroller to minimize power consumption and it is activated by a realtime clock chip to wake it up once an hour monday to friday between 7am and 3pm.
THere's a second Arduino Micro that is connected to the LoRa transceiver and it's activated by a relay when the Atmega328p wakes up. It just runs a quick script that sends the notification character. 10 seconds later, the relay on the Atmega328p de-energizes and everything goes back to sleep for another hour.
If something is blocking the detector, it sends a single character to the receiver and the flag goes up to indicate I've got mail.
It's been running flawlessly for 3 months on 3 AAA batteries. I project it may last 6 to 9 months on a set of alkaline AAA cells..
I chose Lora 433MHz transceivers because they can transmit through buildings with lots of concrete and steel and over 2km outside with trees and buildings in the path.
This has been a great project. Lots of other applications.