We wish to use internally some features found in Aweber. We manage a small double-confirmed list fo e-mail subscribers, and making sure that our legitimate mail is not considered as spam is essential. Whenever we send a message to our mailing list we use Aweber to determine for us what the SpamAssassin profile for it is. Aweber passes our message to SpamAssassin which returns a global spam score, the same score broken down by rules, and a highlight of the exact words which triggered these rules. We need a PHP4 (PHP5-compatible) function which will take as input 1. The type of text/encoding (for example, UTF-8 Text, HTML, etc.) 2. The text of the body of the message will call SpamAssassin's spamd, and will return as output ... 1. A global SpamAssassin spam score 2. An array of tuples (mini-array as an element of the global array) containing the name of the triggered rule and the score associated in this case with the triggering of that rule 3. An array of n-tuples containing the exact phrase that triggered a rule, the index of the triggered rule in the #2 array above, the position of that phrase within the text, and the length of it. The code should be robust, handling cases such as empty text, spamd timeouts, and other problems likely to be found in a production environment. We will be looking for developers here with which we can have an ongoing relationship, and whose workmanship is good and affordable. See the deliverables clauses A and B for our particular requirements.
## Deliverables
A. The above function in one .php file, with a configurable location for spamd B. The exact number of hours invested in developing that solution (do not try to impress us by reducing that number of hours of by inflating it; we want to know how to estimate the time it takes for elements of future projects to be completed.) 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Linux, PHP4 and 5