• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 127
  • Last Modified:

set image source in html

I am trying to set a dynamic image source in an email body how do I do that?
 message.Body += "<p align = center><img src = '\\\\192.168.1.254\\Common\\Software\\Maps\\' + 'Map' + today + '.png' ></p>";

Open in new window

0
r3nder
Asked:
r3nder
  • 5
  • 4
  • 2
1 Solution
 
FarWestCommented:
do you want every one receive the email to load it from this location when it is viewed?
or bind it with the email?
images that is part of the email should be first saved as attachments, give them a unique id, and use CID tag to refer to them
0
 
r3nderAuthor Commented:
bind it - can you tell me how to do that?
0
 
FarWestCommented:
this is from  a code i currently use

string imageCid = "i" + Guid.NewGuid().ToString() + ".jpg@EMBED";
string imgPath="your file full path"
outLookMailMessage.HTMLBody = htmlTemplate.Replace("cid:i##imageid#.jpg@embed", string.Format("cid:{0}", imageCid));
Outlook.Attachment attachment1 = outLookMailMessage.Attachments.Add(imgPath, Outlook.OlAttachmentType.olEmbeddeditem, null, "");
attachment1.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E", imageCid);

Open in new window

here the code is using a string that has html template and replace image source tag
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
COBOLdinosaurCommented:
Of course none of it makes a difference if the user has images blocked, does not accept an HTML version of email, or the user has filters that only allows images from whitelisted senders.

Cd&
0
 
FarWestCommented:
@COBOLdinosaur The show Image security is different when it is "External Content" or "Attachments"
beside when embedding images with message you don't have to host those images or make them available to public or even share a folder in your computer for internal emails,

BTW I like your nickname and it looks like you are over 50 like me, and "IDENTIFICATION DIVISION" persist in your brain just like mine ;)
0
 
r3nderAuthor Commented:
@all - I am 50 :D but thank you all for your advice - here is how I did it - just as an fya the emails go to internal customers

            string contentID = "i" + Guid.NewGuid().ToString() + ".png@EMBED";
            Attachment inline = new Attachment(@"\\192.168.1.254\Common\Software\Maps\" + "Map" + today + ".png");
            inline.ContentDisposition.Inline = true;
            inline.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
            inline.ContentId = contentID;
            inline.ContentType.MediaType = "image/png";
            inline.ContentType.Name = Path.GetFileName(@"\\192.168.1.254\Common\Software\Maps\" + "Map" + today + ".png");
            message.Attachments.Add(inline);

Open in new window

0
 
r3nderAuthor Commented:
fryezz Thank you for telling me how it was done
0
 
FarWestCommented:
you are welcome
and glad I could help
0
 
COBOLdinosaurCommented:
Not indicating it was internal leaves out a pretty key piece of information that changes the nature of the question.

As for 50... that makes you a kid.  I was learning to code in assembler about the time you were being born.  Moving to COBOL was a quantum technology leap when Grace Hopper finally got a stable version for the world to use.

Cd&
0
 
FarWestCommented:
@COBOLdinosaur I wish you a very happy and healthful time, and to enjoy your over 100  birthdays
and very glad to have a chance to have dialogue with you.
0
 
r3nderAuthor Commented:
@COBOLdinosaur - at the coding level its down to semantics. The question then becomes "What would  you prefer" - I could have captured  the image then uploaded via ftp to our website, but I felt that would be to much of a maintenance burden on the network admin (me as well) to constantly clear out those files as they built up. Now its imbedded and I don't have to give it a second thought :D
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

  • 5
  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now