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

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$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 = New-Object Chilkat.Email
$email.Subject = "this is a test"
$email.From = "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 = New-Object Chilkat.JsonObject
$json.UpdateString("email",$email.GetMime())
$json.UpdateString("options","short")

$http = New-Object Chilkat.Http
$resp = New-Object Chilkat.HttpResponse
$success = $http.HttpJson("POST","https://spamcheck.postmarkapp.com/filter",$json,"application/json",$resp)
if ($success -eq $false) {
    $($http.LastErrorText)
    exit
}

$("response status code = " + $resp.StatusCode)
$("response body: ")
$($resp.BodyStr)