PowerBuilder
PowerBuilder
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 PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Mime
string ls_StrMime
oleobject loo_Email
li_Success = 0
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loo_Mime = create oleobject
li_rc = loo_Mime.ConnectToNewObject("Chilkat.Mime")
if li_rc < 0 then
destroy loo_Mime
MessageBox("Error","Connecting to COM object failed")
return
end if
li_Success = loo_Mime.SetBodyFromFile("VoiceMessage.wav")
if li_Success = 0 then
Write-Debug loo_Mime.LastErrorText
destroy loo_Mime
return
end if
// 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...
loo_Mime.Disposition = ""
loo_Mime.Filename = ""
ls_StrMime = loo_Mime.GetMime()
Write-Debug ls_StrMime
// Now load it into an email object:
loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")
li_Success = loo_Email.SetFromMimeText(ls_StrMime)
if li_Success = 0 then
Write-Debug loo_Email.LastErrorText
destroy loo_Mime
destroy loo_Email
return
end if
// Add subject, TO, FROM, etc.
loo_Email.Subject = "This is a test"
loo_Email.From = "support@chilkatsoft.com"
li_Success = loo_Email.AddTo("Matt","matt@chilkatsoft.com")
// Your email is ready to send.
// (but for this example, we'll simply save it to a file...)
li_Success = loo_Email.SaveEml("email.eml")
if li_Success = 0 then
Write-Debug loo_Email.LastErrorText
destroy loo_Mime
destroy loo_Email
return
end if
Write-Debug "OK!"
destroy loo_Mime
destroy loo_Email