cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
New Member

insert picture outlook body message

Hi, everybody

 

I make flow to send e-mail with a picture in its body. Could u please tell me where should I save this image to make it visible for message receives?

I saved it in OneDirve (public acess), but e-mail receiver still doesn't see it in a message

 

51 REPLIES 51
Highlighted
Anonymous
Not applicable

Hi @Anonymous, Its not Edge, it worked with IE for me, but I had to change the group policy so that sharepoint.com in the trusted sites list and the user is logged into IE before he/she can see the images in Outlook client. Now my problem is not all users use IE as their default browser, so either I have to provide anonymous access to the location where all the pictures are stored or find out a way to automatically log in users to mysite.sharepoint.com in IE. The first option is easier to do but definitely not a preferred one for security reasons but the second option, I have no idea how to do that for users whose default browser isnt IE.

Highlighted
Anonymous
Not applicable

I had the same problem with the logo coming in.  I got a box with an "x" as shown.  It turned out my problem was I was using the wrong link.  Our logo is stored in SP in a Picture Library.  To resolve the problem, I right clicked on the file I wanted to display in the e-mail and selected "Copy link".  Once I pasted the link in the Flow it worked in the e-mail as it should.  One note, when I read the e-mail on my phone the logo does not come through.  I am not using the Outlook app on my iPhone.

 

Logo.png

Highlighted

According to this thread, the ability to embed images in the way described (with <img src="">) has been removed. 😞

 

I have not been able to get it to work, but if someone has, please respond!

Highlighted
Anonymous
Not applicable

 

I used Send an email (not Send and email (V2)) and set Is HTML Yes.  Here is my code and it worked once I grabbed the correct link.  The dates on the links you suggest are for July of 2018, maybe things changed.

Post34.jpg

 

 

Highlighted
Anonymous
Not applicable

How did you get the src for the image and how do we make it dynamic? Looks like your image source is static but I would like it dynamic based on the image added to the list item, either as attachment or in the body.

Highlighted

Thanks for the reply!  I figured you were using that version of 'send an email'.  It works, but I would like to have the image displayed in a table, in line with other data.

 

Any idea how to make that happen?  I've tried to add the <img src="Absolute URI"> into the select function I'm using to populate an create html table, but that puts a link into the table, not the image.  I think the problem is the way that flow formats the html table.  I've tried changing the table format html using compose, but haven't been able to figure that out. 

 

Here's my flow that sends the table with links to the images:

image.png

Highlighted
Anonymous
Not applicable

I have run into the same problem too.

Highlighted
Anonymous
Not applicable

Sorry for the slow response, I have been out of the office.

 

As far as my src for the image, I stored it in a central picture library we use for all our logos and online images.  Then I get the link as shown above.

 

You are correct, my image is static.  I am not that good at HTML so someone with more HTML experience might be able to add to the string.

 

KShankle

Highlighted

@Anonymous,

 

The central picture library you are referring to is a lcoation where no login is required I presume?

Like a public (within company network) accessible server?

Highlighted

I've been working for the past week or two to get this working, and this past week, a collegue of mine and I both found two different solutions that both seem to work if anyone is interested.

 

OPTION 1: Encode the image using Base64. For those of you who don't know what that is (I just learned about it while researching this issue), it basically encodes the image as a character string which is then decoded along with the rest of the html. The plus side of this is it doesn't rely on hot-linking to anything. The image is actually embedded into the code itself, so you don't have to worry about the file ever going offline. The downside is that the string can get quite lengthy depending on the complexity of the image and for me ended up being about 3-5 times longer than all the rest of my html code combined. To get around this, I made a variable to contain the text string, and then put the variable in between the quotes of the src attribute of the image tag. This method has also not played very nicely with css resizing for me, so I'd recommend encoding the image at exactly the size you need. Here's a handy tool that allows you to upload and encode your images as Base64: https://varvy.com/tools/base64/

 

OPTION 2: This is the solution a coworker fo mine came accross that seemed to work. He made an e-mail template in Outlook to get the alyout the way he wanted, including adding a lcoal copy of the image, and then used that as his starting point for th ehtml in his flow. He was able to change the img src to one hosted online and had no issues with it loading in the e-mail. There were extra attributes added to the img tag as well as a bunch of extra header information whose absence may be the reason why it wasn't working previously.

 

Hope this helps!

Highlighted
Anonymous
Not applicable

Thanks Element80 for your long and detailed answer. I have looked into Base64 encoding solution, but that works fine for static images. How do I encode images within a flow?

Highlighted

I'm honestly not sure how you would encode it dynamically. You could potentially see if you could figure out how the page at the link I posted does it and see if there's a way to put that code into your flow. Alternatively, if you have a predetermined list of image options, and just need it to insert one based on user response, you could use that tool to encode each of them individually, make each image encode a seperate variable, and then insert the appropriate one using an expression based on the user response.

 

If a new image is submitted and has to be inserted with each new flow run, however, you might be stuck with option 2.

Highlighted

Hello everyone little late to this forum but it definitely help me. This is for anyone who is still having this issue and their images are hosted in a Sharepoint folder/image library. Under the standard connectors for Sharepoint you can select the "File Content by Path" and grab the image either jpeg or png haven't tested svg. In your email body under "Attachment Content" select add dynamic content and you're going to select "File Content". In the attachment name type the ImageName.jpg or png. The imageName can be anything you set. After that in the image body make sure html is set to yes and use the <img src="ImageName"/> the image src must be the same name as the attachment name. Also the user might need to mark the domain as a safe sender. I did this and the image displayed in Outlook Client 2016 and Office 365 Outlook. Hope this helps
Highlighted
Kudo Collector
Kudo Collector

Solution on how to show embedded pictures from SharePoint in Outlook client:

  1. Create a blank email in the outlook client
  2. Insert & Link to insert a picture from SharePoint URL
    picture_from_file.jpginsert_link.jpg

  3. Now for every user who has done this the embedded pictures are visible in the client.

 

Unfortunately on random occasions (every 2 or three months) this step has to be repeated. I wrote a *.vbs script and put a link to it in the email with the picture. So if users do not see the picture they follow the link to the folder, click on the script and problem is gone.

 

I believe there are some registry settings for Outlook that get reset every now and then and could perhaps be set centrally. Would be happy to get feedback on this if someone finds the final solution.

 

Here my *.vbs to bugfix:

 

 

 

 

Create a file in editor with content below and call it "bugfix.vbs"

Only this line: newmail.attachments.add ("https://mysite.sharepoint.com/sites/real_adress/Pictures/mail.jpg") needs to be modified with any dummy picture of your sharepoint library (have not tried with onedrive).

 

 

Dim ToAddress
Dim MessageSubject
Dim MessageBody
Dim MessageAttachment

Dim ol, ns, newMail

ToAddress = "whatever@bugfix.com" ' You can change this to your email address
MessageSubject = "Please check if file has been attached"
MessageBody = "You should now see the pictures send by the Gateway Tool, otherwise please contact whatever@bugfix.com"

Set ol = WScript.CreateObject("Outlook.Application")
Set ns = ol.getNamespace("MAPI")
ns.logon "","",true,false
Set newMail = ol.CreateItem(olMailItem)
newMail.Subject = MessageSubject
newMail.Body = MessageBody & vbCrLf
newmail.attachments.add ("https://mysite.sharepoint.com/sites/real_adress/Pictures/mail.jpg")
newmail.display
WScript.Sleep 1000
newmail.delete

Set ol = Nothing

 

 

 

Highlighted

How do you accomplish this with the email body of the "Create Event" step? There is no option to tick for is HTML and when I tried the same method otherwise with a document stored in both SharePoint and OneDrive, it did not work.

Highlighted

@jessdom3

I do not get your question: Which "Create Event" step?

 

String for Image:

<img src="https://group.sharepoint.com/sites/sitename/Pictures/@{triggerBody()?['ID']}/mail.jpg" height="300" border="1" alt="Yeaha!">

<br>

<a href="file://xyz/Public/Folder">Run bugfix to show images</a>

 

 

Open Outlook directly and try to insert a linked picture from SharePoint. If you then use HTML in the Flow "Send Email v2", you have the </>  in the menu above the body field to switch to HTML

 

In "Send Email v2" it was in the advanced settings second last option.

Highlighted
Frequent Visitor

I'm trying to do this in late 2019,  with the send email v.2 . for outlook.  And I can't embed any HTML, there's not even an option for it.  

I just want to embed an image or copy and paste a table I made in excel summarizing the content of the image,  but both seem impossible.  It's truly shocking the Microsoft can make such a simple task this ridiculously hard. 

Highlighted

 

here is the option:

12.12.png

Highlighted

Yes but then any HTML I put in there isn't recognized by the editor and it doesn;t let me go back to plain text without deleting the HTML in the body.       
I have a simple URL from an  image stored in one drive,  and the HTML editor won't recognize <img src="IMAGE.png"    /> . div

Highlighted

can you post your HTML code please?

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Power Platform ISV Studio

Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

Top Kudoed Authors
Users online (10,756)