I have had emails sent to all my contacts with spam like: viagra, medhealth, etc as if I sent it. How can I stop this?
This means that someone has access to your mail account to either 1) access your contacts and spoof your emailaddress or 2) use your account to send the spam. Scan your computer for viruses and spyware. Change your password on a different computer (like in a library) so that the spammers will no longer have access to your account. Don't use the new password on your new computer until you are "certain" no spyware resides on it.
Your account may have been hijacked after one of the following things probably happened: 1) You entered your login details on a malicious "service". (Like a so called "block checker") 2) Your computer has been infected by malware that logged your login details.
I suggest scanning your PC with the following tools at least (I'm not saying that these are THE tools to do the trick and maybe others might disagree, but in my opinion, these are the best tools for the job at the moment):
Nice addition from AndreKajo's comment:
It is usual to get spam with your name in the from address, but if it did go to all your contacts, it is highly likely you have some sort of malware on your machine.
There is no easy way to say, but the ones that advertise items usually are a lot easier to remove and are technically weaker than malicious fake anti viruses or similar.
On the other hand, if you already have antivirus, and use a web based email such as Hotmail or Gmail, it is possible you put your username/password in to a malicious service - or even a helpful one such as certain web chats - they have in their terms and conditions that they will save your account details and use for advertising purposes. The only way to stop this is to log on and change your contact details.
As for prosecuting, you can always report it, but in all honesty, I don't think you have a chance of actually landing a conviction or getting any form of compensation - especially if it is a service where you agreed to the terms and conditions.
E-mail addresses can be spoofed, so there's no real way to stop it.
You could look for viruses on your computer and similar. This will help if you are the real source. Change your password for msn. Also recipients could do some research on the subject. GMail for example will display transport details for messages with spoofed addresses. If the domain from which the messages are sent looks like legitimate business, you could try contacting them. Most people don't want to be associated with spamming.