I use Yahoo and Mail.com, but I couldn't find a way to block all e-mails from a selected IP address.
Only by blocking the actual e-mail name, but then the person makes a new name and sends me another 300 harassing e-mails.

at least.

Open your Yahoo mail account and click on the MAIL OPTIONS link. Then scroll down to the BLOCK ADDRESSES option. When that window opens simply enter the address of the domain you want blocked. For instance you want ALL email from earthlink.net blocked--simply add earthlink.net to the list. If you have others from the same domain whose mail you want to receive that mail will be blocked too so be careful.

For mail.com you can check for something similar.