The usage is correct, but it's unclear which part you are calling into question.
At the top-level we are using the word "can" (which is a modal verb, aka modal auxiliary) in a typical fashion: "I am eating cake" -> "I can eat cake" is analogous to "I am having it mailed to you" -> "I can have it mailed to you."
Within the sentence "I am having it mailed to you" there is a structure whose name I don't know. Compare with "I am letting him speak to you" and "I am watching you speak to her."
EDIT: The sentence "I am having it mailed to you" gets its structure from the fact that "have" is a causative verb. It would seem that "let" is a causative verb but "watch" is not. I am trying to see what we might call "watch" in the above context.
EDIT 2: The verb "watch" is a verb of perception.
Working on the principle that "correct language" is defined as the common usage among native speakers of the language: "I had a fever" is correct. I don't think I've ever seen "I had fever" in print and very rarely spoken.
In general, I think the rule is that when you are referring to something that is countable, you use an article. When you are referring to something that is not countable, you do not. Thus you would say, "I had a dog" or "I had the chair", because we can count dogs and chairs, i.e. there might be one dog, two dogs, etc. But you say, "I had food" or "I had happiness" because you cannot count "food" or "happiness", i.e. you would not normally say "two foods" or "two happinesses". Think of "a" and "the" as taking the place of the number "one".
Fever is countable. You could say "I had two fevers this year: one in January and another in March."
Which brings to my mind an interesting point: Some diseases are not considered countable. You wouldn't say, "I had two leprosies" or "I had two diabeteses". So we don't use "a" with those. I'm not quite sure what the rule is. Maybe: Long term chronic diseases are not countable, but short term diseases are? Like, "I had a fever", "I had a headache", "I had a cold", but "I had leprosy", "I had cancer", "I had manic-depressive disorder". Hmm, this is starting to sound like, "I have hypochondria".
Best Answer
"Have a great sleep" is perfectly grammatical, in fact "have a great nap" is pretty common. However, "Have a good night's sleep" is really the more idiomatic way to say this. I suppose if we were to draw a distinction it would be the latter wished the sleeper not a short sleep, but one that lasted through the night. But that would be nit picky in the extreme.
Nobody would reasonably misunderstand or consider grammatically incorrect the first option. Consider for example people who work the night shift: how are we to wish them happy ZZZZs? "Have a great day's sleep?" Now that sounds odd.
Another expression that is pretty common and conveys the same sense is "sleep well!".