Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

Add DKIM-Signature Header to MIME / Email

Demonstrates how to add a DKIM-Signature header field to a MIME message.

Note: The DKIM / DomainKey functionality is included with the Chilkat MIME license.

Download Chilkat FileAccess ActiveX (freeware)

Download Chilkat MIME ActiveX

<?php

//  Important: It is helpful to send the contents of the
//  dkim.LastErrorText property when requesting support.

$dkim = new COM("Chilkat.Dkim");

//  Any string automatically begins a fully-functional 30-day trial.
$success = $dkim->UnlockComponent('Anything for 30-day trial');
if ($success != true) {
    print $dkim->lastErrorText() . "\n";
    exit;
}

//  To create a DKIM signature for email (i.e. MIME),
//  you'll need to provide the following:
//  (1) An RSA private key in any common file format.
//  (2) The domain name (typically the same domain
//  as the sender of an email).
//  (3) A selector for the domain name -- an arbitrary string
//  to identify the matching public key in DNS.

//  To allow an email recipient to verify the DKIM signature via an
//  external email client supporting DKIM or using other software,
//  you will need to create a DNS record with the selector
//  and matching public key.  This example does not provide
//  information about DKIM DNS record creation.
//  (Chilkat does not provide an API for creating DNS records.
//  Creating the DKIM DNS record is something you would do
//  manually.)

//  Set the domain and selector:
//  You'll need to provide your own values here..
$dkim->DkimDomain = 'chilkatsoft.com';
$dkim->DkimSelector = 'tuna';

//  Load a private key from any common RSA private key
//  format, such as DER, PKCS8, PEM, XML, etc.
//  The LoadDkimPkFile method automatically detects
//  the file format and reads it appropriately.
//  If a password is not required, you'll still need to provide
//  a password string argument, but it is ignored.

$password = 'optionalPassword';
$success = $dkim->LoadDkimPkFile('myPrivateKey.pem',$password);
if ($success != true) {
    print $dkim->lastErrorText() . "\n";
    exit;
}

//  Load a MIME file into a byte array.

$fac = new COM('Chilkat.FileAccess');
$mimeData = $fac->ReadEntireFile('testMessage.eml');

//  Sign it.  This adds the DKIM-Signature header and
//  returns the new MIME with DKIM-Signature added.

$dkimSignedMime = $dkim->AddDkimSignature($mimeData);

$success = $fac->WriteEntireFile('dkimSigned.eml', $dkimSignedMime);
if ($success == false) {
    print $fac->lastErrorText() . "\n";
    exit;
}

print 'Success.' . "\n";
?>

Need a specific example? Send a request to support@chilkatsoft.com

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