C
C
Add Base64 Image to HTML Email
See more Email Object Examples
Demonstrates how to add an image "file" where the binary data for the image is in base64 string form.Note: This example requires Chilkat v9.5.0.65 or greater.
Chilkat C Downloads
#include <C_CkMailMan.h>
#include <C_CkEmail.h>
#include <C_CkStringBuilder.h>
#include <C_CkBinData.h>
void ChilkatSample(void)
{
BOOL success;
HCkMailMan mailman;
HCkEmail email;
HCkStringBuilder sb;
BOOL bCrlf;
HCkBinData imageData;
const char *contentIdStarfish;
HCkStringBuilder sbHtml;
int numReplacements;
success = FALSE;
// Note: This example requires Chilkat v9.5.0.65 or greater.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// The mailman object is used for sending and receiving email.
mailman = CkMailMan_Create();
CkMailMan_putSmtpHost(mailman,"outlook.office365.com");
CkMailMan_putSmtpPort(mailman,587);
CkMailMan_putStartTLS(mailman,TRUE);
// Set the SMTP login/password
CkMailMan_putSmtpUsername(mailman,"OFFICE365-SMTP-LOGIN");
CkMailMan_putSmtpPassword(mailman,"OFFICE365-SMTP-PASSWORD");
// Create a new email object
email = CkEmail_Create();
CkEmail_putSubject(email,"Testing for Chilkat API...");
CkEmail_putBody(email,"Testing for Chilkat API...");
CkEmail_putFrom(email,"Chilkat Support <my-office365-user@mydomain.com>");
CkEmail_AddTo(email,"Chilkat Support","support@chilkatsoft.com");
// Load Base64 image data into a StringBuilder.
sb = CkStringBuilder_Create();
bCrlf = TRUE;
CkStringBuilder_AppendLine(sb,"/9j/4AAQSkZJRgABAgEASABIAAD/7Q18UGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA",bCrlf);
CkStringBuilder_AppendLine(sb,"AQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAE4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgAB",bCrlf);
CkStringBuilder_AppendLine(sb,"AAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEA",bCrlf);
CkStringBuilder_AppendLine(sb,"MgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNBBQAAAAAAAQAAAABOEJJTQQM",bCrlf);
CkStringBuilder_AppendLine(sb,"AAAAAAyTAAAAAQAAAIAAAACAAAABgAAAwAAAAAx3ABgAAf/Y/+AAEEpGSUYAAQIBAEgASAAA//4A",bCrlf);
CkStringBuilder_AppendLine(sb,"J0ZpbGUgd3JpdHRlbiBieSBBZG9iZSBQaG90b3Nob3CoIDQuMAD/7gAOQWRvYmUAZIAAAAAB/9sA",bCrlf);
CkStringBuilder_AppendLine(sb,"hAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwM",bCrlf);
CkStringBuilder_AppendLine(sb,"DAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwM",bCrlf);
CkStringBuilder_AppendLine(sb,"DAwMDAwMDAwMDAwMDAwMDAz/wAARCACAAIADASIAAhEBAxEB/90ABAAI/8QBPwAAAQUBAQEBAQEA",bCrlf);
CkStringBuilder_AppendLine(sb,"AAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIF",bCrlf);
CkStringBuilder_AppendLine(sb,"BwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKD",bCrlf);
CkStringBuilder_AppendLine(sb,"JkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eH",bCrlf);
CkStringBuilder_AppendLine(sb,"l6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFy",bCrlf);
CkStringBuilder_AppendLine(sb,"gpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVW",bCrlf);
CkStringBuilder_AppendLine(sb,"ZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwD1VJJJJSkkkklKSSSSUpJJMSACTwEl",bCrlf);
CkStringBuilder_AppendLine(sb,"KJA5MJAg8arnuqdbta4+hJaCQ0AgTHfe8tY3/OUuh9bsybfRu0d2Ez/0x7Xf2FWhzuGeY4Ym5DTw",bCrlf);
CkStringBuilder_AppendLine(sb,"sM8uWyDH7h27dXoEkklZYFJJJJKUkkkkp//Q9VSSSSUpJJJJSkkkklKVPqt5pxHR9J/tbHmriw/r",bCrlf);
CkStringBuilder_AppendLine(sb,"Dk/QpaYI9x+P5qh5nKMWHJP92Jrz6MuCHHkiPG3l+oZTq2uL7HUkHYwCptnOm24n6KX1eut/aoBe",bCrlf);
CkStringBuilder_AppendLine(sb,"XxtklpbyN3tb9Db/AFULMIcNG2XO3S9oY6IHtJ9R7n1+p7vzq0X6sML+pudtexu/2tsMuho2rE+H",bCrlf);
CkStringBuilder_AppendLine(sb,"C8sD1uyaH/o7rZ6GDJ5PobfohOmHATroXEUkkkkpSSSSSn//0fVCsLq/XjiZLcZhDXuMCSAfj7y1",bCrlf);
CkStringBuilder_AppendLine(sb,"bq5D64dLvLvtmO3c5oOkSdR+bq3a5Qc17vtH2jwy7s/KjGcoGTY925T1zKkS9rpbvhwj2n6Lv7Sv",bCrlf);
CkStringBuilder_AppendLine(sb,"4/XGED127Afzxq371weL1S5zrWhj3MrAFr3CXNaxrf0TI2saz1HfSWvh5rb9rK3erLQHMA9rCfe2",bCrlf);
CkStringBuilder_AppendLine(sb,"v+Vbt+msSPxHnMB/WEZIj5rHqr+9H/um/k5PGRtXjF7aq6q1u6twcD4Ii5inJvx9a7SNfonVv9VX",bCrlf);
CkStringBuilder_AppendLine(sb,"cfrpiL2THLma/gtPl/inK5q9fBL92fpaM+VmPl9Q/F1ci0U0vsPDRK5fLyK773vtkh57dgPo8q91",bCrlf);
CkStringBuilder_AppendLine(sb,"XrNVtPpUgw76RIgx5LA9V9hcGAuOob8fzdPcqfxfmY5IjDjleolMxOn9UW2uU5cxBlIEE/k0utua",bCrlf);
CkStringBuilder_AppendLine(sb,"3I9+zbUyGNb7HTz7y0v9Rn9lXvqcA/KDh3kmPM/Bv0formus32G5zGEEuJ95c50iezrfc3/MXR/U",bCrlf);
CkStringBuilder_AppendLine(sb,"UPrewXRLgdseEo/DsfDLFZ1/sZ+ZFcvPfSnv0kkltOMpJJJJSkkkklP/0vVUO6llzCx4kFESSU8X",bCrlf);
CkStringBuilder_AppendLine(sb,"136py512NInnZoY52rmrKMzBtLLA5nIN7Xlpj2hrH7o2+xm32r1d7GvEOEgrE6z9XcfMrc5jQHdx",bCrlf);
CkStringBuilder_AppendLine(sb,"2Kp8xycZgmIqXb9FvctzpiRHJrHa+oeTxeqtftpvHpMaJNz/AHHafosayvd/J/tq4CHNL2n2nVjj",bCrlf);
CkStringBuilder_AppendLine(sb,"I9vDbPd9Dcuc6xjZvTb4IOpAaXRtEHdt2EbHf2kbp3WXwK8j3DvHgJj2AfvO/wAG1lCxc3JmIJAo",bCrlf);
CkStringBuilder_AppendLine(sb,"jeLpcIIEomwfsdi/JsgEHQATI1IHzSos3te4MdZtG4tYDr3hw9yrXX45x22eo173uLRWPpCAJds/",bCrlf);
CkStringBuilder_AppendLine(sb,"d/roTMvJraTjv9PcC1xAB077tzVAMZI2rXrouoGB4Rr9jWLK78mCC93mZgRH8natrArOPXW5jxWG",bCrlf);
CkStringBuilder_AppendLine(sb,"mWieD+c7+0szExwLw+ZeQNw8PLn/AKpaFtwrYxrwQXOIZIEODf3fpJ+TJMSj7ZIMdkTAPpNa7vQ0",bCrlf);
CkStringBuilder_AppendLine(sb,"9Zy3e1r2PA/Ogop6vmt59P46hczj9VxWOIdc2pokS4gcCZhhf/I/tqX7axrAG1WG2xztuxrSZb++",bCrlf);
CkStringBuilder_AppendLine(sb,"0/2fannn/iIOktO/A1DyuO/lFPQP6vknT1mM54CA7rFokuySI8uQBJhczd9YGOgVVOLmtLnkkREt",bCrlf);
CkStringBuilder_AppendLine(sb,"52B3s2uQLer5GYHMqqZU120AjVzSwS57f5FzvZtTvf8AiEj6spiPDgDJHlYV8o/B7PD68/ewWPD2",bCrlf);
CkStringBuilder_AppendLine(sb,"P4n2nXwat6qwW1h7eHCVwXQun5uVktssc5wB1n6I13RW36LV3WLWaqGsPYLb5L3/AGv154pXodjw",bCrlf);
CkStringBuilder_AppendLine(sb,"+Lnc3HHHJWP60//T9VSSSSUpJJJJTgfWjp1F+N6jmAmYOnK4h/TGh72tgGSABIAE/wDSXc/WHNZs",bCrlf);
CkStringBuilder_AppendLine(sb,"9Bp+iZcQJ17NH8pcwGF1zng7Q7gGJ/L/ANBYfxPMBnqB1EfV/edjkOKOL1bbhzh030w4xu2e48wJ",bCrlf);
CkStringBuilder_AppendLine(sb,"/O/8yQ22lr3V7y1oBHpiCD9E7t+r/wAz6CXU+qOYLK8Z+3e3ZZug6D3Q3/yay8LPd9oHqDdBH0oM",bCrlf);
CkStringBuilder_AppendLine(sb,"/wBoqHHjySgZy7aNq7oV5Olffk4k+i80u2ncQNYP0v3lj35ORkWbrHl7hI3ET/J/zdrVu5TmZlTL",bCrlf);
CkStringBuilder_AppendLine(sb,"9jKKwzZIfJd+dudvj81Zd2CxoNlT5AE7VJglAfMAJ7fyLLHhIsj1bIcejIyDsbuId9LUCCPzv+i1",bCrlf);
CkStringBuilder_AppendLine(sb,"amF0q/6ALnE6ECXeP9lav1Y+rzspoc46GC93czrtXZYPQMPGaPYC7uSruPlJZBczwwOwju0OY5+O",bCrlf);
CkStringBuilder_AppendLine(sb,"MmGMXIdS8ng/VXIs19PZuOrnan/N+it3B+qdVcG47o1jgfcuhZVWwQ1oCmrePl8UPliL7nUudk5r",bCrlf);
CkStringBuilder_AppendLine(sb,"Nk3ka7DRDj4tOO0NraAjJJKZgf/U9VSSSSUpUep9QGLUQ0j1HDTyH7ysZeSzGpdY7twPErk+sZ7r",bCrlf);
CkStringBuilder_AppendLine(sb,"XEl3ueYFY5AiW/yf6yp89zYwYzR/WS0hH/uv7sWzyuD3JgkegbtbMyCbHOfOwH3WHVuv5ztqw+qd",bCrlf);
CkStringBuilder_AppendLine(sb,"QaJqoeLNdXsJESNGsn876W+x6XUuqEOfjU2tdXYBudGojmuHbttjbP8ArarYvTH5Lm2aw4mAPzvu",bCrlf);
CkStringBuilder_AppendLine(sb,"WLgwyMuOdylI2B1lI9ZOvQiLPpjFzhXbaToXAz7RMD86ByojHcy4BzS0ke3dp/mrvelfU/cxrrQG",bCrlf);
CkStringBuilder_AppendLine(sb,"DwHP+cm659UmV0i6rU16ydSP/MVqHl8ogZabfL1YYc9hOQQ6X8zzuDS9+K4NDhZHt2l4G7R30Wex",bCrlf);
CkStringBuilder_AppendLine(sb,"u2trv9J/pE7Mewyx7RLjqXGfJ/u/R/nfvI7AcctayQ0aEbiw6iHe+fzm+z/CIx2mH7RUzgAkuJJ+",bCrlf);
CkStringBuilder_AppendLine(sb,"lte8O3/yvYsqWQ2a67NiRPFpsdXqvqltGK5o0IK6Fct9V8lovfU2QHAGDprx2XUroeVnx4Mcu8Q4",bCrlf);
CkStringBuilder_AppendLine(sb,"fMxMc0we9/apJJJTMKkkkklP/9X1VJJJJTg/WDL9N4b2rbuDfFx9rWrj+pZz3l9TGA2Wa+0maxxZ",bCrlf);
CkStringBuilder_AppendLine(sb,"Xc2N2y5i7Dr+BkXO9SkTMdgdRx9JYVH1bzL8h1j27C7RzjyR8Fj81yebLzcp8NxoCBJ9IdTlc+DH",bCrlf);
CkStringBuilder_AppendLine(sb,"hHEfV2cvpnR/tFrRVSGv0BP0tp4+m73dv5tdn0foFWM0W3DdaYklWel9GowWCBL+5PK0gABAWjg5",bCrlf);
CkStringBuilder_AppendLine(sb,"aGId59ZHUtTmeanlJANQ6RUAAIGgUbqm21mtwkOEKaSnaz599YemvwLXFodssPLfDt3/AHlm13Wv",bCrlf);
CkStringBuilder_AppendLine(sb,"q2uyQKqBpU5xBl30m1j8937y77r/AE1mZiOO2XtEhcDl4hqyTU6sNbWR+l+iAJO83aP3/urG5/lh",bCrlf);
CkStringBuilder_AppendLine(sb,"CfEBUJG77Sdrks/u4xE6zi63Qsl1WWx5na5x2vmQ4E7XO3fn+9q7ml4fU1w7heZ4mQWXs2WizHrP",bCrlf);
CkStringBuilder_AppendLine(sb,"pVFkBu4fpHbW/S/tr0Hot/r4NbjyBCs/DJ/qjA/ok1/dk1PiOOpif72jfSSSWg0FJJJJKf/W9VSS",bCrlf);
CkStringBuilder_AppendLine(sb,"SSUsQDykABwE6SSlJJJJKUkkkkpYgEEHgrl/rR0IZDTdW2e5A8V1KhZUy1pa8SCmZMcckTGWxZMW",bCrlf);
CkStringBuilder_AppendLine(sb,"WWOYnHcPllOPkDN3GrYWwJa0BsTxXt9jPo+5egfVxj24DdwgnX70x+ruGbfUAgTO3stLHoZRWK2C",bCrlf);
CkStringBuilder_AppendLine(sb,"AFDy3LeyZG7vQf3Wfmub94RFVSVJJJWWopJJJJT/AP/ZADhCSU0EBgAAAAAABwABAQEAAQEA//4A",bCrlf);
CkStringBuilder_AppendLine(sb,"J0ZpbGUgd3JpdHRlbiBieSBBZG9iZSBQaG90b3Nob3CoIDQuMAD/7gAhQWRvYmUAZIAAAAABAwAQ",bCrlf);
CkStringBuilder_AppendLine(sb,"AwIDBgAAAAAAAAAAAAAAAP/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwR",bCrlf);
CkStringBuilder_AppendLine(sb,"DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwR",bCrlf);
CkStringBuilder_AppendLine(sb,"EQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8IAEQgAeAB4AwEiAAIRAQMRAf/E",bCrlf);
CkStringBuilder_AppendLine(sb,"AMkAAQACAgMBAAAAAAAAAAAAAAAFBgQHAQMIAgEBAAMBAQEAAAAAAAAAAAAAAAMEBQIBBhAAAgIB",bCrlf);
CkStringBuilder_AppendLine(sb,"BAICAgIDAAAAAAAAAgMBBAUAIBEGEBITFDAhMSJBIxURAAIBAwEEBwMJBQkAAAAAAAECEQASAyEx",bCrlf);
CkStringBuilder_AppendLine(sb,"IjITIEFRQlJiBGFyIxAwcYGRoZJDY8GCotIz8LGywuJTc4MUEgABAwEGAwQIBwEAAAAAAAABABEC",bCrlf);
CkStringBuilder_AppendLine(sb,"IRAgMVEiA0FxEmEyQmKBkaFScpLS4sHRgrITIzME/9oADAMBAQIRAxEAAADaoAABG89SPNDu0Mvc",bCrlf);
CkStringBuilder_AppendLine(sb,"LEAAA4OXHIBxTbXRsu/BbL1ltLvvOGjmgAcUW91SvZw5bXsziaWwMmk996jI1tHZ1/B2zqDa+xUk",bCrlf);
CkStringBuilder_AppendLine(sb,"Xxxez+xjffnvcPeXHIgKJtrCr2tWy8Ri42xLdPSikz5CDj/OLz8U9zxacSJuFyCzu1u430AYPPVe",bCrlf);
CkStringBuilder_AppendLine(sb,"rudAfO73XkV7MsSfPxLSUjJs8796eDj9/KWEADppktR8XW68KQv8slOitxVSxXqcjGdmRobU+sHO",bCrlf);
CkStringBuilder_AppendLine(sb,"+k+eB4ABTojYytaj5Is1XX2DWkZsjWePuX6yU25aeUEsAB5VHqp5VHqp5VHqp5VHqmN80POvTub5",bCrlf);
CkStringBuilder_AppendLine(sb,"VPPVTyq989VPKo//2gAIAQIAAQUA8sMVhVtBYHdl3QKsYPA+bajYuH3K0ozKiG02LVmiQRrnXMeX",bCrlf);
CkStringBuilder_AppendLine(sb,"1gbFirEEK/WfrOOYqvjVTGlB+DIQFrCtPJECtBSZLQsNmReTW1KnMWqv+pRSDY/ez6Sfk8XK0ide",bCrlf);
CkStringBuilder_AppendLine(sb,"ZlO4vXiOOPH/2gAIAQMAAQUA8gEmT65Jndjw/tkpj1802ADG1lnB0C0mv8a8iJa4nUgUR4rXDVIT",bCrlf);
CkStringBuilder_AppendLine(sb,"BRP7k4idQnT3oWP+dCMkSBlSogplzvRbbTmT5oV+BtWxVqpeOWGv2GY4nzF5ormZmdUrEMXbiIfu",bCrlf);
CkStringBuilder_AppendLine(sb,"D25nnnx//9oACAEBAAEFAPwew8/lzGRmquM1cVaqPixX/J2C2bLVpwm/r0zON3SQxqCGdl+xFepa",bCrlf);
CkStringBuilder_AppendLine(sb,"hhHJE+zhQ9Mftn+M1m3ryNbJTqpn2jFXJVLUa7HdESvXAmnUeDb+PH1qbu29c+4K2uptoZdJS2zE",bCrlf);
CkStringBuilder_AppendLine(sb,"aTnbYauWHWGZb1+thKRBaxOQrvqQ1c6J6R0WSojKrVdvmYgozXV614L+It4tlHLwBG4SA/6MyloT",bCrlf);
CkStringBuilder_AppendLine(sb,"jFLGFpsLnUur8E8PR+TUoK2fg20mE2t5yOMr3k9j62yhcrvuVYZZc94mEQ7M0q6f++2dB2DJNM/t",bCrlf);
CkStringBuilder_AppendLine(sb,"WWU8JZeeD6n8JgEAOzt0gxykhI5HIUxmnCLCbddxaqVSe/E9SsOCn1KmnSKNZEbcnkBqKuuhx5bK",bCrlf);
CkStringBuilder_AppendLine(sb,"cDY+R441hg2wTId1iks8ksBAN1qyusnJXnut3cpMxXxdmyaejvagMW6nYH4nBiiivbWUEG7sF2Pm",bCrlf);
CkStringBuilder_AppendLine(sb,"yVkDLGYQ3vwvXU0xgRiO2YaShdo1tSUrZh7EWKG7stOx8+O6zcsHisNXoK8OUDl9hxcY+4E2Vq6d",bCrlf);
CkStringBuilder_AppendLine(sb,"chtbcSwPQgA7ewYqL1W/UOq3o4lE/k/nV/A07hY7GIoBs//aAAgBAgIGPwC0zkWjEOSjKIIYsxvx",bCrlf);
CkStringBuilder_AppendLine(sb,"2+O4ajyxUuGFxoSMSK6Sy0zluRGMZ6/uX9sTtns1xQnXpDCHKP1KcImoazG3KWf5qhAmMYoSNSMu",bCrlf);
CkStringBuilder_AppendLine(sb,"78yMx1QyL9Cae9L55yQm8gxfr7ptMpFoxDklSlAMCafCEGNRVR2zTqyWmIfPxeu4f+aNIQ/0LPqy",bCrlf);
CkStringBuilder_AppendLine(sb,"/SnGmHveOf2onb7w9qhL3SD6PFdluEEmRcg923qA0TrnX3fKoE49Iv6mbtVLf//aAAgBAwIGPwC0",bCrlf);
CkStringBuilder_AppendLine(sb,"RGJQ6qvflM4CgW2OdzWKGj5J2enDFPA08yjE48fiW3JqMVgnII9FrHVDL6UJwqCHUXoQMEXdP7UQ",bCrlf);
CkStringBuilder_AppendLine(sb,"4nI8B+NojEOShB6o+sFSmA/SHWqR5CgufyEPKWCYatz9vNdO4aTpyU45gog8Lg24sGo/FObBGR1x",bCrlf);
CkStringBuilder_AppendLine(sb,"pzC3AMHv6Hfyovj22//aAAgBAQEGPwD5iJE/PDGhjI+w9g62oPduTPWWMnTmT8NbvI+SkyjvCfnc",bCrlf);
CkStringBuilder_AppendLine(sb,"jI9gU2AhgG08K/56S3nqA4XEMuRcgjW98X6d3hrFPYOnqYrQg9DJlPUNPppmGPmlZLglgI2tdyRd",bCrlf);
CkStringBuilder_AppendLine(sb,"WMh8bKXLtaGZg0cHOyDmbs9+sQ8o6Rp8OQsMaST/AHJbvL3vLV+HMwUNy0dWlWYf1GVX7qV8SM+M",bCrlf);
CkStringBuilder_AppendLine(sb,"EjmJt09n8tTiyCfCdvyJ6eZA3iO090VkUlr2FqnCGDa+bDwf9lLiXuC0bJgmfeu4e/WMeUdP/wBW",bCrlf);
CkStringBuilder_AppendLine(sb,"ARlTUEATRPrXJzl7QGHw2VmL5N78v8FXernHmyERittUSLt2eHEiMlBoMwCrAQYiZSN+2hjTMTI0",bCrlf);
CkStringBuilder_AppendLine(sb,"vE/Y01eWuZiC3b7K0JYnQE3bFEKiLr47t9P+OudkW1wCVY7J9vvW0kOAwEMp0INcQ+2t51H11BzL",bCrlf);
CkStringBuilder_AppendLine(sb,"9tfDyK30H5YOoNMyAK5BB7DNOGL2bSZmFHhuVrt2jj9QxJymTlyTzIU/lXMuPH+/ZZQyKYB6/qDW",bCrlf);
CkStringBuilder_AppendLine(sb,"KG/x9+pgAdZjs0mkGDM2ZgoBQqVtPZ+pQL7zRNmzZ2W0FCqOxpYnX8NaSIAJMkftosMYcCNpJ2nc",bCrlf);
CkStringBuilder_AppendLine(sb,"28VcycVrYzlRJAJVTvKnDv8A6dKMQLZCf6iC1QSLtp38n+3SO/EQJ6BTIonqNO6kBDqZ+nu0oEk7",bCrlf);
CkStringBuilder_AppendLine(sb,"bSNDrB2/E/jpvUeoCoGMwBuqBpwLP8PxHoPi4XWbmlTDCWmaAxl3zWExwKrEW7d+/Z4KW0ajaCWK",bCrlf);
CkStringBuilder_AppendLine(sb,"yRBlBb37P56YXlAV5cqoAtA3f323LnqFL8kEFpc7FjrNqe5bW6pyGQV00FpuXebzeFaXN6gajULQ",bCrlf);
CkStringBuilder_AppendLine(sb,"UbB0SE1ZFknqBmdaus1I6xB++sePFdzQPiHQANO7y7eKnfLnXG4UxeSCSusDxXUHVSVA2ChjgmOI",bCrlf);
CkStringBuilder_AppendLine(sb,"n/TxUpCcpBEE6t9OtBso5jDrbWoxoBHShdcraKv7aZ3N4BkxvTPft8VN6dLTrDEGT+pjDqOLz1La",bCrlf);
CkStringBuilder_AppendLine(sb,"9Z9hrGCV013xuj32Ph81WubCwDRI0u3wODC7W8FC6CrtIgEDQeb3qCqIAHTbK5gKKAMczJsUkag3",bCrlf);
CkStringBuilder_AppendLine(sb,"WKt1cv0gbDkAZMzg9v5ZXuuv9slC4asdAokkezh/HRdse3UAnWmTJIOIm07GOumzeoMTvqbQqqdZ",bCrlf);
CkStringBuilder_AppendLine(sb,"3p5jO2Ld4Fx46xZCAhVgCp0MHTZanepWHWOmULEY8IEkam5uGhhV2TI+nqJUl8ZU22RI3H4r1oW3",bCrlf);
CkStringBuilder_AppendLine(sb,"ZspOpYkgeZot73coZMouynUk1AGlH1WAQTx6ffWS3Eucxaqm7dYm1SIbxdykXIvLeTxgghjs5hea",bCrlf);
CkStringBuilder_AppendLine(sb,"xOPCJ6bsuO9Wa7YT1W+7u+apZWUE65H1eNkXUFVRd1n5WxuJDCKZwrQzAqykgrJjmLHEyrQyJ8R8",bCrlf);
CkStringBuilder_AppendLine(sb,"5tW83ZNt7uMQZrMlqb7U2ObgDIP069PeANboA6JKj4iiVNOro3NZiOdLXmfyr7iqL+pTaQoAEDQf",bCrlf);
CkStringBuilder_AppendLine(sb,"f5fnr2W1+0aGrcQ+vo//2Q==",bCrlf);
// Decode to a BinData.
imageData = CkBinData_Create();
CkBinData_AppendEncoded(imageData,CkStringBuilder_getAsString(sb),"base64");
contentIdStarfish = CkEmail_addRelatedBd(email,"images/starfish.jpg",imageData);
if (CkEmail_getLastMethodSuccess(email) != TRUE) {
printf("%s\n",CkEmail_lastErrorText(email));
CkMailMan_Dispose(mailman);
CkEmail_Dispose(email);
CkStringBuilder_Dispose(sb);
CkBinData_Dispose(imageData);
return;
}
// The src attribute for the image tag is set to the contentIdStarfish:
sbHtml = CkStringBuilder_Create();
CkStringBuilder_Append(sbHtml,"<html><body><p>This is an HTML email with an embedded image.</p>");
CkStringBuilder_Append(sbHtml,"<p><img src=\"cid:CONTENT_ID_STARFISH\" /></p></body></html>");
numReplacements = CkStringBuilder_Replace(sbHtml,"CONTENT_ID_STARFISH",contentIdStarfish);
CkEmail_SetHtmlBody(email,CkStringBuilder_getAsString(sbHtml));
success = CkMailMan_SendEmail(mailman,email);
if (success != TRUE) {
printf("%s\n",CkMailMan_lastErrorText(mailman));
}
else {
printf("Mail Sent!\n");
}
CkMailMan_Dispose(mailman);
CkEmail_Dispose(email);
CkStringBuilder_Dispose(sb);
CkBinData_Dispose(imageData);
CkStringBuilder_Dispose(sbHtml);
}