go-spamc is a golang package that connects to spamassassin's spamd daemon. Is a code port of nodejs module node-spamc(https://github.com/coxeh/node-spamc)
Thanks for your amazing code Carl Glaysher ;)
You are able to:
- Check a message for a spam score and return back what spamassassin matched on
- Ability to send messages to spamassassin to learn from
- Ability to do everything that
spamc
is capable of
Check
checks a message for a spam score and returns an object of informationSymbols
likecheck
but also returns what the message matched onReport
likesymbols
but matches also includes a small descriptionReportIfSpam
only returns a result if message is spamReportIgnoreWarning
like report but matches only symbols with score > 0 "New"Process
likecheck
but also returns a processed message with extra headersHeaders
likecheck
but also returns the message headers in a arrayLearn
abilty to parse a message to spamassassin and learn it as spam or hamReportingSpam
ability to tell spamassassin that the message is spamRevokeSpam
abilty to tell spamassassin that the message is not spam
example.go
package main
import (
"fmt"
"spamc"
)
func main() {
html := "<html>Hello world. I'm not a Spam, don't kill me SpamAssassin!</html>"
client := spamc.New("127.0.0.1:783",10)
//the 2nd parameter is optional, you can set who (the unix user) do the call
reply, _ := client.Check(html, "saintienn")
fmt.Println(reply.Code)
fmt.Println(reply.Message)
fmt.Println(reply.Vars)
}