In the US, you can register here to “reduce promotional mail offers from companies or organizations you don’t have a business relationship with.” It costs $4 ($5 if you opt to mail in a form instead of filling out the online form), but it registers you for 10 years.
I did this about 7 years ago and I haven’t seen any junk mail since. I added my wife’s name under the “add another version of your name” section (you can have 5 alternate names listed) and junk mail to her stopped too.