应该用现在完成时: Have you received my letter? 指到目前为止你是否已收到信件;用do you ...是一般时,用于习惯性,恒常性的动作、状态等,且谓语动词也不能用received这种过去式;用did是过去的行为,一般都有一个过去的时间跟它一起用,如:上个月/昨天你收到我的信了么?Did you reveive my latter last month/yesterday?....
The difference is where you put BE is. Did you ( at some time in the past)Have you (what you are saying hasnt occur yet)For example:Did you have luch? (lunch time is over, aski...