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

Ruby
require 'chilkat'

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::CkEmail.new()
email.put_Subject("this is a test")
email.put_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 = Chilkat::CkJsonObject.new()
json.UpdateString("email",email.getMime())
json.UpdateString("options","short")

http = Chilkat::CkHttp.new()
resp = Chilkat::CkHttpResponse.new()
success = http.HttpJson("POST","https://spamcheck.postmarkapp.com/filter",json,"application/json",resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

print "response status code = " + resp.get_StatusCode().to_s() + "\n";
print "response body: " + "\n";
print resp.bodyStr() + "\n";