Sample code for 30+ languages & platforms
Go Requires Chilkat v11.0.0+

Get SpamAssassin Score for an Email

See more Email Object Examples

Uses Postmark’s spam API (a RESTfull interface to the SpamAssassin filter tool) to analyze an email to get a spam score.

Chilkat Go Downloads

Go
    success := false

    //  This example requires the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    //  First build an email to check.
    email := chilkat.NewEmail()
    email.SetSubject("this is a test")
    email.SetFrom("support@chilkatsoft.com")
    email.AddTo("John Doe","john@example.com")
    email.AddPlainTextAlternativeBody("this is a test")
    email.AddHtmlAlternativeBody("<html><body><b>Hello John!</b><p>This is a test</p></body></html>")
    success = email.AddFileAttachment2("qa_data/jpg/starfish.jpg","image/jpeg")

    //  Check this email by implementing this curl command:

    //  curl -X POST "https://spamcheck.postmarkapp.com/filter"
    //  -H "Accept: application/json"
    //  -H "Content-Type: application/json"
    //  -v
    //  -d '{"email":"raw dump of email", "options":"short"}'

    json := chilkat.NewJsonObject()
    json.UpdateString("email",*email.GetMime())
    json.UpdateString("options","short")

    http := chilkat.NewHttp()
    resp := chilkat.NewHttpResponse()
    success = http.HttpJson("POST","https://spamcheck.postmarkapp.com/filter",json,"application/json",resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        email.DisposeEmail()
        json.DisposeJsonObject()
        http.DisposeHttp()
        resp.DisposeHttpResponse()
        return
    }

    fmt.Println("response status code = ", resp.StatusCode())
    fmt.Println("response body: ")
    fmt.Println(resp.BodyStr())

    email.DisposeEmail()
    json.DisposeJsonObject()
    http.DisposeHttp()
    resp.DisposeHttpResponse()