C
C
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 C Downloads
#include <C_CkMime.h>
#include <C_CkEmail.h>
void ChilkatSample(void)
{
BOOL success;
HCkMime mime;
const char *strMime;
HCkEmail email;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
mime = CkMime_Create();
success = CkMime_SetBodyFromFile(mime,"VoiceMessage.wav");
if (success == FALSE) {
printf("%s\n",CkMime_lastErrorText(mime));
CkMime_Dispose(mime);
return;
}
// 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...
CkMime_putDisposition(mime,"");
CkMime_putFilename(mime,"");
strMime = CkMime_getMime(mime);
printf("%s\n",strMime);
// Now load it into an email object:
email = CkEmail_Create();
success = CkEmail_SetFromMimeText(email,strMime);
if (success == FALSE) {
printf("%s\n",CkEmail_lastErrorText(email));
CkMime_Dispose(mime);
CkEmail_Dispose(email);
return;
}
// Add subject, TO, FROM, etc.
CkEmail_putSubject(email,"This is a test");
CkEmail_putFrom(email,"support@chilkatsoft.com");
success = CkEmail_AddTo(email,"Matt","matt@chilkatsoft.com");
// Your email is ready to send.
// (but for this example, we'll simply save it to a file...)
success = CkEmail_SaveEml(email,"email.eml");
if (success == FALSE) {
printf("%s\n",CkEmail_lastErrorText(email));
CkMime_Dispose(mime);
CkEmail_Dispose(email);
return;
}
printf("OK!\n");
CkMime_Dispose(mime);
CkEmail_Dispose(email);
}