FoxPro Examples

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

Visual FoxPro Examples

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

More Examples...
Amazon S3
DKIM / DomainKey
NTLM
RSS
Atom
Byte Array
Service
PPMD
Deflate
DH Key Exchange
DSA
FileAccess
Bzip2
LZW

 

Non-Chilkat Links
Text and String Handling

Send DKIM Signed Email

Demonstrates how to create a simple email, add a DKIM signature, and send it.

Note: Requires version 9.0.3 or greater (or v7.9.5 or greater of the Email ActiveX).

Download Chilkat Email ActiveX

Download 32-bit Chilkat IMAP ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

Download Chilkat MIME ActiveX

LOCAL loMailman
LOCAL lnSuccess
LOCAL loDkim
LOCAL loEmail
LOCAL loMimeData
LOCAL lcPassword
LOCAL loDkimSignedMime
LOCAL lcStrFrom
LOCAL lcStrTo

*  This example uses the Chilkat MIME/DKIM component
*  for adding a DKIM signature, and the Chilkat Email
*  component for creating and sending the email.

*  The mailman object is used for sending and receiving email.
*  The mailman object is part of the Chilkat Email product.
loMailman = CreateObject('Chilkat.MailMan2')

*  Any string argument automatically begins the 30-day trial.

lnSuccess = loMailman.UnlockComponent("30-day trial")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loMailman.LastErrorText)
    QUIT
ENDIF

*  The dkim object is used for creating the DKIM signature.
*  It belongs to the "Chilkat MIME" product.
loDkim = CreateObject('Chilkat.Dkim')

lnSuccess = loDkim.UnlockComponent("Anything for 30-day trial")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loDkim.LastErrorText)
    QUIT
ENDIF

*  Set the SMTP server.
loMailman.SmtpHost = "smtp.chilkatsoft.com"

*  Set the SMTP login/password (if required)
loMailman.SmtpUsername = "myUsername"
loMailman.SmtpPassword = "myPassword"
*  Set the SmtpPort if your SMTP server uses an alternative port (default = 25)
loMailman.SmtpPort = 587

*  Create a new email object
loEmail = CreateObject('Chilkat.Email2')

loEmail.Subject = "This is a test"
loEmail.Body = "This is a test"
loEmail.From = "Chilkat Support <support@chilkatsoft.com>"
*  We'll send the email to a Yahoo email account.  It is then
*  possible to view the full headers within the Yahoo email
*  interface to see if the DKIM signature was accepted.
loEmail.AddTo("Chilkat Software","chilkat_software@yahoo.com")
loEmail.AddTo("Chilkat Admin","admin@chilkatsoft.com")

*  When sending an email with a DKIM signature, the MIME
*  of the email must not be modified (in significant ways) prior to
*  or during the sending process.  Therefore, the MIME of the
*  email is assembled, the DKIM signature is added, and then
*  SendMimeBytes is called to send the email.

*  Get the MIME of the email.  Calling RenderToMimeBytes
*  causes the email to be signed and/or encrypted if those options
*  have been selected.  The MIME returned by RenderToMimeBytes
*  is the exact MIME that would've been sent if SendEmail was
*  called.  We'll add a DKIM signature header to this MIME and then send...

loMimeData = loMailman.RenderToMimeBytes(loEmail)

*  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..
loDkim.DkimDomain = "chilkatsoft.com"
loDkim.DkimSelector = "brisbane"

*  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.

lcPassword = "optionalPassword"
lnSuccess = loDkim.LoadDkimPkFile("myPrivateKey.pem",lcPassword)
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loDkim.LastErrorText)
    QUIT
ENDIF

*  Add the DKIM-Signature header and
*  returns the new MIME with DKIM-Signature added.

loDkimSignedMime = loDkim.AddDkimSignature(loMimeData)

*  Call SendMimeBytes to connect to the SMTP server and send.
*  The connection (i.e. session) to the SMTP server remains
*  open so that subsequent Send* calls may use the
*  same connection.

lcStrFrom = "support@chilkatsoft.com"
*  To send to multiple email addresses, the strTo should be set to a comma-separated
*  list of email addresses.

lcStrTo = "chilkat_software@yahoo.com, admin@chilkatsoft.com"
lnSuccess = loMailman.SendMimeBytes(lcStrFrom,lcStrTo,loDkimSignedMime)
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loMailman.LastErrorText)
    QUIT
ENDIF

*  Some SMTP servers do not actually send the email until
*  the connection is closed.  In these cases, it is necessary to
*  call CloseSmtpConnection for the mail to be  sent.
*  Most SMTP servers send the email immediately, and it is
*  not required to close the connection.  We'll close it here
*  for the example:
lnSuccess = loMailman.CloseSmtpConnection()
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX("Connection to SMTP server not closed cleanly.")
ENDIF

=MESSAGEBOX("DKIM Signed Mail Sent!")

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

Mail Component · .NET Email Component · ASP Mail Component · XML Parser