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

Delphi ActiveX
var
success: Integer;
email: TChilkatEmail;
json: TChilkatJsonObject;
http: TChilkatHttp;
resp: TChilkatHttpResponse;

begin
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 := TChilkatEmail.Create(Self);
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 := TChilkatJsonObject.Create(Self);
json.UpdateString('email',email.GetMime());
json.UpdateString('options','short');

http := TChilkatHttp.Create(Self);
resp := TChilkatHttpResponse.Create(Self);
success := http.HttpJson('POST','https://spamcheck.postmarkapp.com/filter',json.ControlInterface,'application/json',resp.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(http.LastErrorText);
    Exit;
  end;

Memo1.Lines.Add('response status code = ' + IntToStr(resp.StatusCode));
Memo1.Lines.Add('response body: ');
Memo1.Lines.Add(resp.BodyStr);