c# - No embedded images in email -
i try send email embedded images. images going list<bitmap>
, sure there 100%.
somehow when email don't see images @ , html looks like
<img alt="" hspace="0" src="http://image0" align="baseline" border="0"> <br /> <img alt="" hspace="0" src="http://image1" align="baseline" border="0"> <br />
any clue?
c#
var smtp = new smtpclient(); var msg = new mailmessage(new mailaddress("support@mysite.com", "mysite.com support"), new mailaddress(email, email)); msg.subject = "no worries, man"; msg.isbodyhtml = true; var bodybuilder = new stringbuilder(); (int = 0; < pages.count; i++) bodybuilder.appendline(string.format("<img alt=\"\" hspace='0' src='cid:image{0}' align='baseline' border='0'><br />",i)); var htmlview = alternateview.createalternateviewfromstring(bodybuilder.tostring(), null, "text/html"); var index = 0; foreach (var page in pages) // page list<bitmap> { var memorystream = new memorystream(); page.save(memorystream, system.drawing.imaging.imageformat.png); var imagelink = new linkedresource(memorystream, "image/png"); imagelink.contentid = string.format("image{0}", index); imagelink.transferencoding = transferencoding.base64; htmlview.linkedresources.add(imagelink); index++; } msg.alternateviews.add(htmlview); try { smtp.send(msg); return json("true", jsonrequestbehavior.allowget); } catch (exception ex) { logger.error(ex.message, ex); return json("false", jsonrequestbehavior.allowget); }
ok guys
i found awesome solution here
how embed image stream mailmessage
here correct code:
imageconverter ic = new imageconverter(); byte [] ba = (byte[]) ic.convertto(page,typeof(byte[])); var memorystream = new memorystream(ba); page.save(memorystream, system.drawing.imaging.imageformat.png);
Comments
Post a Comment