Tcl Requires Chilkat v11.0.0+
Tcl
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 Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
# First build an email to check.
set email [new_CkEmail]
CkEmail_put_Subject $email "this is a test"
CkEmail_put_From $email "support@chilkatsoft.com"
CkEmail_AddTo $email "John Doe" "john@example.com"
CkEmail_AddPlainTextAlternativeBody $email "this is a test"
CkEmail_AddHtmlAlternativeBody $email "<html><body><b>Hello John!</b><p>This is a test</p></body></html>"
set success [CkEmail_AddFileAttachment2 $email "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"}'
set json [new_CkJsonObject]
CkJsonObject_UpdateString $json "email" [CkEmail_getMime $email]
CkJsonObject_UpdateString $json "options" "short"
set http [new_CkHttp]
set resp [new_CkHttpResponse]
set success [CkHttp_HttpJson $http "POST" "https://spamcheck.postmarkapp.com/filter" $json "application/json" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkEmail $email
delete_CkJsonObject $json
delete_CkHttp $http
delete_CkHttpResponse $resp
exit
}
puts "response status code = [CkHttpResponse_get_StatusCode $resp]"
puts "response body: "
puts [CkHttpResponse_bodyStr $resp]
delete_CkEmail $email
delete_CkJsonObject $json
delete_CkHttp $http
delete_CkHttpResponse $resp