Get normal thin bleach, the cheapest you can get, and add two cups to the powder drawer - this will not produce bubbles. Run the hottest wash on the programme settings.
Put the powder drawer though your dish washer - it will not break and it saves you having to handle it too much ;) Will comes out sparkling clean!
Also descale it - buy a pack of washing machine descaler, comes with instructions.
And clean the filter. This could be a source of smell ;)
These steps should fix it.
To prevent it becoming stinky again, simply make a habit of NOT closing the door on it - this is most likely what causes the smell.
If you wash mainly at low temperatures, you need to run at bleach wash at a high temperature about every 3 months. This prevents smell and mould build up and although it's not great for the environment, it's better than buying a new one.
Do let us know how you get on!