Difference between revisions of "SMEOptimizer"

From SME Server
Line 45: Line 45:
===RPM Download instructions===
==RPM Download instructions==
If you do <u>'''not'''</u> use the epel repository, then the needed Perl modules can be downloaded here.  
If you do <u>'''not'''</u> use the epel repository, then the needed Perl modules can be downloaded here.  
====For SME 8.x====
====For SME 8.x====

Revision as of 17:14, 6 October 2016


This contrib has been developed by Jesper Knudsen from SME Optimizer


SME Optimizer is an external service that generally enhances the functionality of the SME Server. The first functionality is a SME dedicated DNS Blacklist which is partially based on the user contributions. With SME Optimizer you provide data about your spam rejects and in return you get access to a large DNS blacklist. This blacklist is both providing IP as well as URI based lists and comes as a configuration option to SpamAssassin. The DNS Blacklist has as of today (October 2016) around 1.4 mio. Spam, Malware and Ransomware IP addresses as well as around 350.000 URIs. These will be provided as part of the DNS Blacklist.

The next planned functionality is:

  • The site www.smeoptimizer.com will allow you to register servers for free
  • Remote monitoring of the server with alarms if its down or doesn't respond to SMTP connections
  • Providing additional Clam AV signatures including additional signatures created via interface to VirusTotal
  • Enhanced attachment filter that does not require admin to generate signatures but just configure extensions
  • Your suggestions...


mkdir /usr/local/smeoptimizer
cd /usr/local/smeoptimizer
wget -q http://smeoptimizer.com/SMEOptimizer.pl.updated -O SMEOptimizer.pl
chmod +x SMEOptimizer.pl

Now make sure to install the two Perl modules which is not part of the SME core but can be downloaded from the epel repository. If you cannot get them at epel, then see download instructions below.

yum install --enablerepo=epel perl-Digest-MD5-File perl-JSON

Create and configure the MySQL database

mysqladmin create smeoptimizer
mysql smeoptimizer

Now configure the database which will be used for configuration and logging.

Important.png Note:
Please note that you *have* to use the below credentials (database, user and password).

GRANT ALL PRIVILEGES ON smeoptimizer.* TO 'smeoptimizer'@'localhost' IDENTIFIED BY 'password';

Now initialize which will start the cron jobs that checks for new functionality and reports spam. Notice that each individual server need to be registered with its SME server unique ID.

./SMEOptimizer.pl –initialize

There is no further need for configuration or installation as the SMEOptimizer script automatically will get and install the qpsmtpd plugin that handles capturing the rejected spam messages and also the SpamAssassin configuration file which contains the DNS blacklist configuration. All action will be logged in the /var/log/smeoptimizer.log file.


  • Question: What is transferred from my server to the central server as part of the spam report that is used to build the DNS Blacklist?
    • Answer: The qpsmtpd plugin captures the sender address, recipient address, the sending ipaddress, the qpsmtpd plugin which rejected the mail and the plugins return text.

RPM Download instructions

If you do not use the epel repository, then the needed Perl modules can be downloaded here.

For SME 8.x

wget http://smeoptimizer.com/downloads/SME8/perl-Digest-MD5-File-0.07-1.el5.rf.noarch.rpm
wget http://smeoptimizer.com/downloads/SME8/perl-JSON-2.50-1.el5.rf.noarch.rpm
yum localinstall perl-Digest-MD5-File-0.07-1.el5.rf.noarch.rpm perl-JSON-2.50-1.el5.rf.noarch.rpm

For SME 9.x

wget http://smeoptimizer.com/downloads/SME9/perl-Digest-MD5-File-0.07-1.el6.rf.noarch.rpm
wget http://smeoptimizer.com/downloads/SME9/perl-JSON-2.50-1.el6.rfx.noarch.rpm
yum localinstall perl-Digest-MD5-File-0.07-1.el6.rf.noarch.rpm perl-JSON-2.50-1.el6.rfx.noarch.rpm