Sample code for 30+ languages & platforms
Xojo Plugin 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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
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.
Dim email As New Chilkat.Email
email.Subject = "this is a test"
email.From = "support@chilkatsoft.com"
success = email.AddTo("John Doe","john@example.com")
success = email.AddPlainTextAlternativeBody("this is a test")
success = 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"}'

Dim json As New Chilkat.JsonObject
success = json.UpdateString("email",email.GetMime())
success = json.UpdateString("options","short")

Dim http As New Chilkat.Http
Dim resp As New Chilkat.HttpResponse
success = http.HttpJson("POST","https://spamcheck.postmarkapp.com/filter",json,"application/json",resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

System.DebugLog("response status code = " + Str(resp.StatusCode))
System.DebugLog("response body: ")
System.DebugLog(resp.BodyStr)