Spam Assassin is an excellent way to filter out spam at the server level before it gets to your mail client.

To enable it in cPanel:
From the Mail section on the main page click on the Spam Assassin icon.
Then click on the Enable Spam Assassin button.

That's it.

Now that Spam Assassin is enabled there are two methods to getting it get rid of all that spam

1) Auto Delete

This is the default method and is what is enabled when you turn on spam assassin.

To change the threshold that Spam Assassin uses to determine what spam score is required to auto delete a message just change the number in the Filters section.

5 is the default and is pretty conservative. If you want you can set it to a higher number like 7 to allow more possible spam through and then look at the spam score listed in the header of and spam you get to see what would be a good final setting for you.

2) Disable Auto Delete and use Filters

If you want more control over how spam is managed at the server level you've got it!

First disable auto delete on the spam assassin main page. This means spam assassin is monitoring the spam coming through the server, adding it's spam score headers to the emails but not doing anything else. This is where filters come in.

Go back out to the cPanel main page by clicking the home link near the top of the page.

From the Mail section on the main page click on the Account Level Filtering icon.

Here you have lots of control over how the system deals with spam and you can set up multiple levels of filters so you can delete all spam with a score of X and then route all spam with a score of Y-Z to a separate holding email account. This lets you have a buffer zone so stuff you are sure is spam with a high rating the server deals with and emails that are in that not sure range you can still review but are not mixed in with your other email!

To get started click on the  Create a New Filter button.
To set up the filter to delete spam with a rating of  7 or greater first name this new rule something like Spam Assassin delete at 7

For Rules
Change the From drop down to Spam Bar.
Change the Equals drop down to Contains.
In the field below those enter 7 plus signs like this:
+++++++

In the Actions section make sure it is set to Discard Message.

Click the Activate button.

Now all spam with a score of 7 or greater will automatically be discarded.

Next if you want to create that buffer zone discussed earlier just make a new filter to manage that.

For Rules
Change the From drop down to Spam Bar.
Change the Equals drop down to Contains.
In the field below those enter 4 plus signs like this:
++++

In the Actions section set it to Redirect to Email and enter an email account on your domain. Do not send these messages to an off server email address as doing so could get your mail server blacklists as a spam source!

Click the Activate button.

Note!: If setting up a unique email account to send these possible spam messages to do not use the word spam in the name of the mail account as it will not work. Also if you would rather filter the possible spam via your mail client rather than using a filter onthe server you can do that to. Just skip adding the second filter and then configure your mail client to filter those emails. Most mail clients have rules that lets you filter by content in the header of the email. If you look at an email that comes into your inbox after you have enabled spam assassin you can see the custom headers and set rules based on that content.

That's it!

You now have set up a domain wide spam filtering system.