C
C
Send HTML Email with Image Downloaded from URL
Demonstrates how to compose an HTML email with an embedded image where the image data is downloaded from a URL.Chilkat C Downloads
#include <C_CkBinData.h>
#include <C_CkHttp.h>
#include <C_CkMailMan.h>
#include <C_CkEmail.h>
void ChilkatSample(void)
{
BOOL success;
HCkBinData bdJpg;
HCkHttp http;
HCkMailMan mailman;
HCkEmail email;
const char *html;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// First download the image we'll be adding to the HTML "img" tag.
bdJpg = CkBinData_Create();
http = CkHttp_Create();
success = CkHttp_QuickGetBd(http,"https://www.chilkatsoft.com/images/starfish.jpg",bdJpg);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkBinData_Dispose(bdJpg);
CkHttp_Dispose(http);
return;
}
mailman = CkMailMan_Create();
// Use your SMTP server..
CkMailMan_putSmtpHost(mailman,"smtp.yourserver.com");
CkMailMan_putSmtpPort(mailman,587);
CkMailMan_putStartTLS(mailman,TRUE);
// Set the SMTP login/password
CkMailMan_putSmtpUsername(mailman,"my_login");
CkMailMan_putSmtpPassword(mailman,"my_password");
// Create an HTML email.
email = CkEmail_Create();
CkEmail_putSubject(email,"HTML Email with Image");
CkEmail_putFrom(email,"Dave <somebody@mydomain.com>");
CkEmail_AddTo(email,"Chilkat","info@chilkatsoft.com");
html = "<html><body><p>This is an HTML email with an embedded image.</p><p><img src=\"starfish.jpg\" /></p></body></html>";
CkEmail_SetHtmlBody(email,html);
// Note: The "starfish.jpg" here must match the name in the "img" tag's "src" attribute in the HTML above.
success = CkEmail_AddRelatedBd2(email,bdJpg,"starfish.jpg");
if (success == FALSE) {
printf("%s\n",CkEmail_lastErrorText(email));
CkBinData_Dispose(bdJpg);
CkHttp_Dispose(http);
CkMailMan_Dispose(mailman);
CkEmail_Dispose(email);
return;
}
CkEmail_SaveEml(email,"qa_output/out.eml");
// success = mailman.SendEmail(email);
// if (success == ckfalse) {
// println mailman.LastErrorText;
// return;
// }
//
// ignore = mailman.CloseSmtpConnection();
printf("Success.\n");
CkBinData_Dispose(bdJpg);
CkHttp_Dispose(http);
CkMailMan_Dispose(mailman);
CkEmail_Dispose(email);
}