You can diminish a smelly dog problem with a vinegar rinse. Prepare the rinse ahead of time by filling a kiddie pool or other appropriate tub with plain water, add a gallon of white vinegar. Bathe and rinse your dog as you normally would. Then move him to the vinegar bath and use a cup to saturate his coat.
Try bathing the dog in tomato juice, messy but it often works to neutralize icky dog smell. You can also try using a mister of highly diluted peppermint oil.
Trapped dirt over oily skin and sometimes when they roll in things can be causes of smelly dogs. By putting tea tree oil in your dogs bath it should prevent him from being so smelly. It should be bathed once a month so it can produce its own natural oils.
A remedy that I use is a cheap and effective one that is one hundred percent safe. Put about two tablespoons, or more for a bigger dog, in your pets next shampooing. Scrub it into their fur along with the shampoo. This should neutralize your pets stinky smell and leave them clean and fresh.