Support
- Advanced Backup
- Client Side
- Cloud Enterprise
- ColdFusion
- Control Panel
- cPanel
- Customer Portal
- DNS Information
- Dedicated Servers
- DirectAdmin
- Domain Name
- dotDefender
- Dreamweaver
- FileCatalyst
- Front Page
- FTP
- General Information
- Hosted Exchange & SharePoint
- IIS6
- IIS7
- Juniper Netscreen Firewalls
- Linux
- Bind Multiple IP Addresses to a Single Network Interface Card (NIC)
- Clear Memory Cache on Linux Server
- Set the time on a Linux server
- Check Disk Usage in Linux
- Add Custom SpamAssassin Rules
- Install OSSEC on a Linux server
- Define the Default Document Order for a Shared Linux Server
- Administer a Website Using Webmin
- Use a Redirect Script in PHP
- Upgrade PHP on a Linux Server
- Install phpMyAdmin on a Linux server
- Add a Redirect Script to Your .htaccess File
- Install the Mumble VoIP Server to Redhat or CentOS
- Add PHP Extensions with No Control Panel or Plesk
- How To Update Linux Packages Using Webmin
- Evaluate Disk Usage on Linux Plesk Server
- How to monitor Bandwidth with VNstat
- Bind IPs to a server in Linux
- Using the Htaccess File to Block IP Access
- Using The Htaccess File for PHP Directives
- Search for a file via SSH
- Install Tomcat on a Linux Server
- Install the Railo CFML Server in Linux
- Tuning the Apache Prefork MPM
- Adding FTP Users For VSFTP
- Installing htop
- Enable Apache mod_status
- Evaluate Disk Usage on Linux Cpanel Server
- Locate Newly Created Files in Linux
- Configure Keep Alives on SSH Server in Linux
- Adjusting the Amount of Swap
- How to Disable IPv6 For Redhat and Centos
- Enable and Use the Apache Info Module
- Install NCDU on a Linux Server
- Manage the Qmail queue with qmHandle
- Retaining File Permissions While Using SCP
- How To Compress And Uncompress Files
- Installing Freetds For Linux
- Create Search Engine Friendly URLs with mod_rewrite
- Adding Users To A Usergroup
- Installing Vim
- Use TCP Variable tcp_syncookies to prevent "syn flood attack"
- How To Limit Process CPU Usage
- Install and Configure the Cherokee Web Server on Linux
- Installing Python 3 on CentOS/Redhat 5.x From Source
- Configure Syntax Highlighting in Vim
- Install and Configure the Nginx Web Server on Linux
- Set Hostname
- Using Tmux
- MySQL Slow Query Logging
- Using the Linux Uptime Command
- Using sar to Monitor System Performance
- Compile Software On Linux
- Using the Linux Man Command
- Mounting NFS Shares
- Move and Copy Files within Linux
- Configure NFS Server Shares
- Software Management with RPM and Yum
- Update the Webmin Control Panel
- Viewing Live Bandwidth with iftop
- Using GNU Screen
- Sshwindows
- Sshmac
- Directorystructure
- Errorcheck
- vi Text Editor
- Find Heaviest Email Users of Postfix MTA's Deferred Spool
- Common Rewrite Rules for .htaccess
- Turn on directory listing in Linux
- Redirect non-www URLs to www URLs using a .htaccess file
- Force Visitor Browser to use SSL in Apache
- Apache Error Logging
- Password-less Login Through SSH Linux To Linux
- Log SSH Sessions with Putty
- SSH Server on Alternative Port
- SSH Server as Secure SOCKS Proxy
- Install the PHP Process Manager (php-fpm)
- Configure Apache to Use PHP-FPM
- Configure Nginx to Use PHP-FPM
- Cgiscripts
- Htaccess
- Linux Faq
- Phpmail
- Phpmailer
- Phpsqlinjection
- Phpversion
- Sendmail
- Add a Redirect Script to your Ruby on Rails Application
- Use a CGI PERL Redirect Script
- List Server
- MIVA Merchant
- MySQL
- Patching / Server Updates
- phpMyAdmin
- Plesk
- Policies and Procedures
- Premium Spam Filtering
- Programming
- Ruby on Rails
- Search Engine Submission
- SharePoint 3
- SharePoint 2010
- SiteDesigner
- SmarterMail 3
- SmarterMail 4
- SmarterMail 5
- SmarterMail 6
- SmarterMail 7
- SmarterStats
- SmarterTrack
- SQL Server
- Secure Socket Layer (SSL)
- Uploading Your Website
- Video Tutorials
- Windows Server 2003
- Windows Server 2008
- Web Design
- WordPress
- Advanced Monitoring
- MediaWiki
- Enkompass
- Microsoft Outlook 2010
- Android
- Outlook Web Access
- Critical Availability Service
- NAS Data Transfer
- Customer Portal Demos
- Joomla
- Moodle
- Cloud Dedicated
- Gallery CMS
- phpBB
- Standard Monitoring
- Righteous Restore
- NAS (Network Attached Storage)
- Networking
- SmarterMail 8
- PCI Security Scan
- LinkTiger
- Windows Cloud VPS
- Linux Cloud VPS
- Linux VPS
- Windows VPS
- Hyper V
- ENSIM
- Alert Logic
- Webmin
- e107
- Vbulletin
- VPN
- Visual Vault
- Mozilla Thunderbird
- PyroCMS
- Active Directory
- Vmware Related
- Drupal
Add custom SpamAssassin rules for content filtering
Your local SpamAssassin rules should be stored in a file called /etc/mail/spamassassin/local.cf if you want the rules applied to every user on the system, or ~/.spamassassin/user_pref if you want to have them only apply to your own email. All rules have three components:
- The rule itself
- A 2-5 word description of the rule for SpamAssassin reports (optional),
- A commensurate scoring for the rule if matched
As a simple example, here's a rule that applies against the body of messages that are being filtered:
body NO_VIOXX /vioxx/i
score NO_VIOXX 10
description NO_VIOXX messages that contain the word Vioxx
In this case, any message that contains "Vioxx" (without regard to the mix of upper and lower case, which is what the 'i' accomplishes in the pattern) will be given a score of +10, which might by itself make this an undelivered spam message (it actually depends on what threshold you specify in your (configuration file).
Having shown that, I use rawbody rather than body so that it catches words that appear in HTML formatted messages and messages with base64 or any other encoding scheme. Here are two actual rules from my own SpamAssassin rule set:
rawbody BECAUSE_OPTIN /because you opted-in/i
score BECAUSE_OPTIN 5.0
rawbody DEALSMINUTE /dealsbytheminute/i
score DEALSMINUTE 5.0
The first thing you'll notice is that I don't bother with the description field. I just try to use sufficiently mnemonic rule names.
Don't be fooled into thinking that you can only match rules and have things be more spammy. You can do the opposite instead, as shown here:
header ITS_DEREK ALL =~ /derek\@farmprints.com/i
score ITS_DEREK -100
Finally, you can also reassign the scoring of built-in rules too, by simply restating the score:
score SUBJ_FREE_CAP 4.0score FREE_PREVIEW 4.0
score HTTP_ESCAPED_HOST 4.0
Finally, don't forget to always run the command immediately after editing your configuration file to ensure that you haven't introduced any errors or typos into the rule set.
spamassassin –lint
