Delphi Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

POP3 Verify Signed (S/MIME) Email

Demonstrates how to download and verify digitally signed S/MIME email.

Download Chilkat Email ActiveX

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATMAILLib2_TLB,
    CHILKATCERTIFICATELib_TLB,
    CHILKATUTILLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
mailman: TChilkatMailMan2;
success: Integer;
sa: CHILKATUTILLib_TLB.ICkStringArray;
i: Integer;
n: Integer;
email: CHILKATMAILLib2_TLB.IChilkatEmail2;
uidl: String;
cert: CHILKATMAILLib2_TLB.IChilkatCert;

begin
mailman := TChilkatMailMan2.Create(Self);

//  Any string argument automatically begins the 30-day trial.
success := mailman.UnlockComponent('30-day trial');
if (success <> 1) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;

//  Set the POP3 server's hostname
mailman.MailHost := 'mail.chilkatsoft.com';

//  Set the POP3 login/password.
mailman.PopUsername := 'myLogin';
mailman.PopPassword := 'myPassword';

sa := mailman.GetUidls() as CHILKATUTILLib_TLB.ICkStringArray;
if (sa = nil ) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;

n := sa.Count;

for i := 0 to n - 1 do
  begin

    uidl := sa.GetString(i);

    email := mailman.FetchEmail(uidl) As CHILKATMAILLib2_TLB.IChilkatEmail2;
    if (email = nil ) then
      begin
        Memo1.Lines.Add(mailman.LastErrorText);
        break;
      end;
    Memo1.Lines.Add(email.From);
    Memo1.Lines.Add(email.Subject);

    //  The security layers of signed and/or encrypted emails
    //  are automatically "unwrapped" when loaded into
    //  a Chilkat email object.
    //  An application only needs to check to see if an email
    //  was received signed or encrypted, and then examine
    //  the success/failure.  For example:
    if (email.ReceivedSigned = 1) then
      begin

        Memo1.Lines.Add('This email was signed.');

        //  Check to see if the signatures were verified.
        if (email.SignaturesValid = 1) then
          begin
            Memo1.Lines.Add('Digital signature(s) verified.');

            Memo1.Lines.Add('Signer: ' + email.SignedBy);

            //  The certificate used for signing may be obtained
            //  by calling email.GetSignedByCert.

            cert := email.GetSignedByCert() As CHILKATMAILLib2_TLB.IChilkatCert;
            if (cert = nil ) then
              begin
                Memo1.Lines.Add('Failed to get signing certificate object.');
              end
            else
              begin
                Memo1.Lines.Add('Signing cert: '
                     + cert.SubjectCN);

              end;

          end
        else
          begin
            Memo1.Lines.Add('Digital signature verification failed.');
          end;

      end;

  end;

mailman.Pop3EndSession();
end;

 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser