There are a number of things which are problematic here, starting with the fact that your circuit is missing a critical function.
Your receiver is, like most, designed to detect bursts of the carrier frequency, and not its constant presence. It is designed to receive data and a steady signal doesn't carry much information - instead, the data is encoded in the coming and going of the signal, so it includes an Automatic Gain Control which will cause it to largely ignore something that is always there.
To make this work, you need a second pulser which enables and disables the first to produce bursts
You could do that with a 556 or another 555, but a 555 type solution is already an atypical choice for this. If you are going to keep that, you'll need to tune the carrier timing loop to the center of the receiver's sensitivity. And running it off a 9v battery with a linear regulator is a good way to rapidly drain that battery.
Typical implementations would instead use either a special function ship, or more commonly a small inexpensive microcontroller - the ATTiny85 is an example of one commonly used in hobby IR remote transmitters (you might start with an Arduino and work down, also see the tv-b-gone project). It's also possible there are off the shelf remotes that would transmit (their burst pattern) endlessly if you solder bridge one of their button contacts - though make sure they'll do this if batteries are put in with the button already pressed before you modify one, and you might consider adding resistance to the LED circuit to lower the drive level.
As noted you also appear to be overdriving the LED by using too small a resistor. While long range remotes do often use a transistor to amplify, for the kind of range you are talking about the output of all but the weakest MCU GPIO pins would be sufficient.
Another piece of the system you will need is something in the receive that can stretch the pulsed output the receiver will produces from a burst signal into a continuous one. This can be done with things like a time continuously reset by received pulses, which will timer out and declare an alarm if they miss. But again, it's more common to do this with an MCU where you can write rules.
And MCU->MCU implementation also lets you send and look for a unique digital code, if that would be helpful to avoiding mutual interference from systems installed on other doorways that might reflect into the wrong receiver.