I had the same problem and got some badmitton birdies that have a rubber end at which you hit with the racket. I removed the rubber button, for lack of a better word, took some silicon glue and glued it to the post. It lasts for about four or five years and then has to be replaced due to the UV getting to it and making it brittle. It stops the door from rattling with the door hook attached to the door.
That is my idea and it works, cheap but has to be replaced once in a while.