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 <CkMime.h>
#include <CkEmail.h>
void ChilkatSample(void)
{
bool success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkMime mime;
success = mime.SetBodyFromFile("VoiceMessage.wav");
if (success == false) {
std::cout << mime.lastErrorText() << "\r\n";
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...
mime.put_Disposition("");
mime.put_Filename("");
const char *strMime = 0;
strMime = mime.getMime();
std::cout << strMime << "\r\n";
// Now load it into an email object:
CkEmail email;
success = email.SetFromMimeText(strMime);
if (success == false) {
std::cout << email.lastErrorText() << "\r\n";
return;
}
// Add subject, TO, FROM, etc.
email.put_Subject("This is a test");
email.put_From("support@chilkatsoft.com");
success = email.AddTo("Matt","matt@chilkatsoft.com");
// Your email is ready to send.
// (but for this example, we'll simply save it to a file...)
success = email.SaveEml("email.eml");
if (success == false) {
std::cout << email.lastErrorText() << "\r\n";
return;
}
std::cout << "OK!" << "\r\n";
}