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

PHP ActiveX
<?php

$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.
$email = new COM("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 COM("Chilkat.JsonObject");
$json->UpdateString('email',$email->getMime());
$json->UpdateString('options','short');

$http = new COM("Chilkat.Http");
$resp = new COM("Chilkat.HttpResponse");
$success = $http->HttpJson('POST','https://spamcheck.postmarkapp.com/filter',$json,'application/json',$resp);
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

print 'response status code = ' . $resp->StatusCode . "\n";
print 'response body: ' . "\n";
print $resp->BodyStr . "\n";

?>