the answer is embedded in the responses..
you dont stop her from getting shit you wont smoke or use..
if you have a wife that appreciates you enough to actually put some thought into a gift.. you smile and accept the gift.. say thank you.. and try to make sure she feels appreciated too...
That is not lying.. that is not the opposite of being open and truthful.. etc.. the physical gift is the least important part of this equation.. its about acknowledging the effort made and showing someone you love and care for (or should) some respect, kindness, and gratitude..
If you think she is intentionally screwing with you and trying to buy you things you wont like.. thats a wholly different situation..
There is nothing wrong with informing her, over time, about what you like, prefer, etc.. hopefully she will get it right the next time...
but you dont tell her that you dont like what she spent her time, energy, effort on.. in an attempt to make you happy..
that is.. unless you enjoy being thought of as a unappreciative a-hole... who isnt deserving of her time, energy, and effort in the future (expect underwear and socks next Christmas)...
its Christmas.. the old adage "its the thought that counts" is what matters... not the actual gift.. you dont try to force any change..