MESpamC - MailEnable SpamAssassin Client [v 0.3.1 / 0.2.5]

Discussion, support and announcements for third party applications that work with MailEnable.
Post Reply
someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

MESpamC - MailEnable SpamAssassin Client [v 0.3.1 / 0.2.5]

Post by someone_else »

MESpamC - MailEnable SpamAssassin Client



MESpamC is a SpamAssassin client designed specifically for MailEnable. Available as both pickup event and mailbox delivery event, it provides the necessary link between the MailEnable MTA and the SpamAssassin server daemon - spamd - regardless of whether the server instance of SpamAssassin be local or remote, running on Windows or Unix.

In addition to being a standard SpamAssassin client, MESpamC also offers flexible content filtering, both before, and after SpamAssassin processing, thus ensuring server-wide custom filtering and optimization for multiple spam filter scenarios.



MESpamC

One way to use MESpamC with MailEnable is to set it up as an MTA pickup event. This is the choice to make if filtering is to be done at the MTA level, i.e. for all messages passing through the server. Deployment is easy, as the event only needs to be activated once, and some measure of control is available via settings that instruct the event to trigger on incoming/outgoing messages, local/external sessions, catchall/registered mailboxes, etc.


MESpamCmde

If more flexibility is desired, MESpamC is also available as a mailbox delivery event. Deployment of delivery events is something to consider, though, as it requires activation at the mailbox level. Doing this manually for a large number of users is highly inefficient; instead, an ASP automated setup page is provided, that can be used to activate or deactivate the event for a given email address.
Last edited by someone_else on Wed Sep 19, 2007 4:13 pm, edited 9 times in total.
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

MartynK
Posts: 1376
Joined: Sat Dec 28, 2002 1:12 am
Location: Hong Kong

Post by MartynK »

Do these programs require SpamAssasin to be installed on the server or do they have the spam filtering inbuilt ?

Only reason I ask is I want to know if your code then in turn calls another third party routine or all is included in a single package for speed.

Thanks.

someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

...

Post by someone_else »

MESpamC is a SpamAssassin client. You need to have a SpamAssassin server running either locally or remotely.
Last edited by someone_else on Sun Oct 01, 2006 7:09 am, edited 1 time in total.
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

zeusdk
Posts: 99
Joined: Thu Dec 09, 2004 7:09 pm

Post by zeusdk »

As WinSpamC is open-source, I was actually planning to make a modified version of it that would work directly with MailEnable (so that it wouldn't need pickup events)...
Is it added now?

someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

not yet

Post by someone_else »

zeusdk wrote:Is it added now?
Not yet, no. I've been quite busy, and just haven't had the time to do this. It will probably be another month or so before this is done (as I currently have some important exams to take).
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

zeusdk
Posts: 99
Joined: Thu Dec 09, 2004 7:09 pm

Post by zeusdk »

Super - looking very much forward to this.

And...
These are just simple pickup events for WinSpamC, so you need to have that installed. In turn, WinSpamC needs SpamAssassin (running in daemon mode) either on the same or another machine.
I have followed our instructions on your web site and have made it as fare as installing WinSpamC (winspamcpe) having the MTA picking up the MAI-files via your pickup-script and not returning any errors. But our instruction ends here as I couldn’t find instructions on how to install SpamAssassin.

I have found the win32 version of SpamAssassin on the web, but have not yet installed it because I don't know have to install it (just copying to a folder of my choice?) and I don't know which exe-file to insert into a daemon / a service. And how the connection between WinSpamC and SpamAssassin is created? (I am using the same win32 server for both MailEnable and SpamAssassin and WinSpamC).

Can you help me?

someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

WinSpamC / SpamAssassin

Post by someone_else »

The pickup events currently available on my website will only work if WinSpamC and the SpamAssassin spamd service are running on the local machine. WinSpamC also supports remote SpamAssassin connections, but this was not available via these pickup events (it was supposed to be done in the next release, whenever that might be released).

As for running SpamAssassin under Windows, there are actually a couple of different ways to do this. Most people run it under CygWin, though you can also run it directly. In my setup, though, I run it in a virtual Linux server, which, I think, is the most elegant, stable, secure, and flexible solution.

My setup is:

Windows 2003 Server (Standard) SP1
- MailEnable Standard
- - WinSpamC (with custom pickup event)
- Microsoft Virtual Server 2005
- - CentOS Linux 4.3 (Server)
- - - SpamAssassin running as spamd

In this setup, WinSpamC links to the 'remote' (virtual) SpamAssassin server.


Again, I have't had enough time to work on the WinSpamC conversion, but I will try to do it soon. Once that is done, I will provide more detailed setup instructions.
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

new spamD client

Post by someone_else »

I had actually started work on converting WinSpamC for MailEnable use, but after thoroughly examining the source code, I had found that WinSpamC had some rather serious bugs. As such, rather than trying to fix it, I decided that it would probably be more efficient to build a new spamD client instead.

Work on this is actually nearing completion, and an initial release will probably be available in a matter of days. This new client (which, again, is not based on WinSpamC) is written in Delphi, and - compared to WinSpamC - is faster, and has a much smaller memory print.
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

MESpamC 0.1.0

Post by someone_else »

MESpamC and MESpamCmde version 0.1.0 are now available.

MESpamC, the more advanced pickup event version, has a fully automated installer, and more detailed documentation.

MESpamCmde, the mailbox delivery event, also has an automated installation routine (in the form of an .asp page), but the process is a tad rougher than with the pickup event version.

All in all, though, both versions are easy to install and use, I think. It's SpamAssassin's spamD that's the more difficult part to install. Of course, as I have already mentioned in a previous post, there are actually quite a few ways to install SpamAssassin, most of these being documented to various extents across the web...
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

MESpamC 0.1.1

Post by someone_else »

MESpamC 0.1.1 and MESpamCmde 0.1.1 are now available.


changes in this version:
- fixed: bug with message formatting validation
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

spamD on Windows

Post by someone_else »

Thanks to its automated installer, MESpamC is very easy to install and configure. What is slightly more problematic, generally speaking, is installing SpamAssassin's spamD on a Windows server. Of course, having a dedicated Unix server for SpamAssassin is always the best choice, but given that this is not always a viable option, there are also alternatives available for Windows environments.


1. The easiest way to run spamD in Windows is by using a special win32 build of SpamAssassin. This is reportedly working ok, and is certainly easy to install and configure. The dowside of this particular option is that the Windows binary of SpamAssassin might not have the complete feature list of its Unix counterpart (especially in regards to plugins, such as DCC or Razor/Pyzor).


2. Another option would be to run spamD in Windows under a CygWin emulation layer. This is the option that provides a middle-way between the first and the third, but it does require some effort to implement.


3. The final option, and the one I personally use and recommend, is to create a virtual Linux server under which SpamAssassin would run 'natively'. This provides the most efficiency, security and flexibility, all for minimum cost. All the software invloved is free, and the only purchase one would need to consider is some extra RAM (128 MB is enough) should their server's resources be maxed out already. Even so, some extra memory is still cheaper than a yearly license for commercial anti-spam solutions. An expensive out-of-the-box solution might be nice if enough financial resources are available, but for a small company, alternative solutions like SpamAssassin are something worth considering.

And for those who might be wondering, Linux deployment is really not a difficult task. There are plenty of step by step guides available on the internet. Management is also easy thanks to powerful control pannel applications like Webmin.
And again, all this software is free.
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

GmanOTM
Posts: 3
Joined: Sun Jul 02, 2006 2:09 pm

MEspamC not connecting to spamD using Cygwin/SA/Win2k server

Post by GmanOTM »

I am attempting to use MEspamC on a Windows 2000 Advanced Domain Server running Cygwin1.5.19-4/Spamassassin3.1.1/MailEnablePro1.6.

Cygwin and Spamassassin are installed and seem to be working fine. Tested using:

spamassassin -D --lint
spamassassin -tD < sample-nonspam.txt (scored 0)
spamassassin -tD < sample-spam.txt (scored 1000)

Spamd daemon registered as Cygwin service via:
cygrunsrv -I SpamD -p /usr/bin/spamd -a "-l -s /var/log/SpamD.log --round-robin"

SpamD daemon shows it's running using:
cygwin -L

MESpamC.ini as follows:
;MESpamC - MailEnable SpamAssassin Client
;author: someone_else@exhalus.net
[SpamD]
Hosts=192.168.0.1
Port=783
Timeout=9
[MESpamC]
MaxFileSizeToCheck=256
IgnoreCatchallAddresses=0
CheckOutgoingMessages=0
CheckLocalMessages=0
LogNonFatalErrors=1

(also used 127.0.0.1 and as this server is an Internet gateway using RAS/Nat I also tried using external IP address for "hosts")

MEspamC.log shows the following type of error message for each email received:
2006/07/06 06:11:55 could not connect to 192.168.0.1

When Installing MEspamC I let installer set MailEnable pickup event.

I've checked the Windows Application event log and cannot find any MEspamC related entries at all.

Any help with this would be great! I feel it's really close but still no Cigar!!!

someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

some things to check

Post by someone_else »

First, you should try and see if spamD is listening on port 783.
(try a manual Telnet connection to it)

Also, if using a firewall, make sure that mespamc.exe is given access to said port.

Finally, you'll need to make sure that spamD accepts connections from your machine (since by default, it might not, even if both client and server are local); this is done by using the A parameter of spamd.
Last edited by someone_else on Fri Jul 07, 2006 7:41 pm, edited 1 time in total.
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

GmanOTM
Posts: 3
Joined: Sun Jul 02, 2006 2:09 pm

Cygwin/Spamassassin using SpamD and MESpamC on Win32

Post by GmanOTM »

I will attempt to submit a full step by step of this in the next week or 2. But for now, I have everything working as follows:

To install Cygwin and Spamassassin, I used the instructions found at: hMailServer forum (http://www.hmailserver.com/forum/viewtopic.php?t=3144) up to but not including hMailServer specific pickup event instructions (of course). However, read the following additional notes!


Make sure you set CYGWIN=server in Windows SYSTEM environment variables.

Check Windows Services to see if "CYGWIN cygserver" is there as Automatic and Started. If it isn't there then follow the instructions to get Cygserver started for the first time which I found in the PDF version (http://cygwin.com/cygwin-ug-net/cygwin-ug-net.pdf.gz) of the Cygwin User Guide. Then check Windows services again and if it is there make sure it's set to Automatic (mine was) and that it is started (mine wasn't so I had to start it). From then on this service will restart automatically when you restart your computer.

I also added SpamD options given to cygrunsrv command as follows:

Added -i, -p and -A options to specify exactly what Listening IP address and port as well as which ip addresse(s) are allowed to access SpamD service on my network.

For example if you have Cygwin/Spamassassin/Mailenable running on a machine with Lan IP of 192.168.0.1 and want to be sure that SpamD is listening on port 783 your command line to start SpamD service would be:


cygrunsrv -I SpamD -p /usr/bin/spamd -a "SpamD -l -i 192.168.0.1,127.0.0.1 -p 783 -A 192.168.0.1,127.0.0.1 -s /var/log/SpamD.log --round-robin"

Also make sure you check Windows services to see if SpamD is there and set to Automatic and Started. If it isn't started and gives you an error when you try to start it, try deleting the SpamD Log file (/var/log/SpamD.log) and then try running cygrunsrv command line again.

Restart your server to make sure "CYGWIN cygserver" and "SpamD" services do in fact restart automatically.

Now you are ready to install MEspamC!

That's it!

someone_else
Posts: 302
Joined: Tue Jul 19, 2005 1:12 pm
Location: 404

spamD on Windows

Post by someone_else »

Installing spamd with CygWin can be a bit daunting, yes. Again, though, the win32 SpamAssassin version is probably good enough for most people, and unlike with CygWin, it's actually very easy to install and configure.
MailEnable plugins:
DKeyEvent - DomainKeys/DKIM
MESpamC - SpamAssassin integration

Post Reply