It's tricky and no matter what grammatically is correct, it's not uncommon to here people use the simple tense when they should use the perfect tense.
In some cases, the meanings are the same such as with:
"I'll wait here until you return."
"I'll wait here until you have returned."
But for me, with the intended meaning, I feel only your second sentence is right. I would understand the first to be the same, but I feel it technically means "have" as in "to possess" (before drinking it), whereas "have had" means to consume the coffee.
...I'm not 100% sure though.