Looks good.
But...........in transformerless supplies it is always good practice to reduce the total current draw.
For instance:
I assume that your relay is 30 mA @ 5V.
If you change the relay coil to 12V and feed that from the voltage previous to the 7805, then a similar relay will only draw about 12.5 mA.
You would need an external NPN transistor to drive it, but those are really, really cheap.
The 1N4007 could be 1N4001. There is no high voltage on these diodes.
---------edit--------
The voltage is high across the 1M resistor. Many resistors can not take that much voltage. You might need to use 2, 3, or 4 resistors to reduce the voltage each.