Sample code for 30+ languages & platforms
Visual FoxPro

Create Email with Non-Standard Binary Body

Creates an email where the only body is a binary WAV file. The technique used in the example could be applied to other binary files, such as PDF, MS-WORD docs, Excel docs, etc.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loMime
LOCAL lcStrMime
LOCAL loEmail

lnSuccess = 0

* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loMime = CreateObject('Chilkat.Mime')

lnSuccess = loMime.SetBodyFromFile("VoiceMessage.wav")
IF (lnSuccess = 0) THEN
    ? loMime.LastErrorText
    RELEASE loMime
    CANCEL
ENDIF

* The MIME has this header:
* Content-Disposition: attachment;
* 	 filename="VoiceMessage.wav"
* Content-Transfer-Encoding: base64
* Content-Type: audio/x-wav;
* 	name="VoiceMessage.wav"

* We don't want the content-disposition to be an
* attachment -- otherwise the email object will self-correct
* and put it in a multipart/mixed format...
loMime.Disposition = ""
loMime.Filename = ""

lcStrMime = loMime.GetMime()
? lcStrMime

* Now load it into an email object:
loEmail = CreateObject('Chilkat.Email')
lnSuccess = loEmail.SetFromMimeText(lcStrMime)
IF (lnSuccess = 0) THEN
    ? loEmail.LastErrorText
    RELEASE loMime
    RELEASE loEmail
    CANCEL
ENDIF

* Add subject, TO, FROM, etc.
loEmail.Subject = "This is a test"
loEmail.From = "support@chilkatsoft.com"
lnSuccess = loEmail.AddTo("Matt","matt@chilkatsoft.com")

* Your email is ready to send.
* (but for this example, we'll simply save it to a file...)
lnSuccess = loEmail.SaveEml("email.eml")
IF (lnSuccess = 0) THEN
    ? loEmail.LastErrorText
    RELEASE loMime
    RELEASE loEmail
    CANCEL
ENDIF

? "OK!"

RELEASE loMime
RELEASE loEmail