This shouldn't be used anyway. I've been meaning to take it out.
I've lost things using this method before, even with long waits inbetween. The best guess I have is that there is an EQ2 bug somewhere in calling the receive gifts functions directly.
Either way, if you do use it, you should always use [1] (it will update the entire array each time). But, I would suggest not using it except for single instances. It seems to be ok for one or two pieces of mail ..but on a string of like 20 pieces, I've lost items.