cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
CW
Kudo Kingpin
Kudo Kingpin

Embedded Image in Email (an oldy but a goody)

I am trying to simply include my or someone else's image in an email. I've tried several techniques and it's not difficult to embed in Outlook, but not everyone uses Outlook (🙄), I don't always use it. Regardless, this image needs to be visible to:

  • ANYONE, whether it's Outlook, Microsoft Mail, Gmail or whatever. It's 2021.

For example, here is the code I'm using:

Email1.jpg

And here is the result in Outlook:

Email2.jpg

 

And here is the result in Microsoft mail (or any other email app):

Email3.jpg

You see the person's image is missing if it's not Outlook. HOWEVER, strangely enough (facetious), the Microsoft Flow image is plainly visible in any email. That doesn't seem to be an issue. Hmmm.

 

Yes I've used other techniques such as a direct link to an image in a SharePoint library, to which I obviously have access but the image doesn't show in other email apps either.

I've used variables: 

 

<img src="data&colon;image/jpeg;base64,@{body('Get_file_content_using_path_-_Another_Method')['body']['$content']}" alt="My Image"/> 

 

How is this possible in 2021 that it is really that hard to add a simple little image to display in non-Outlook email clients??? I've now spent two days doing this and continually handcuffed to only use Outlook.

Not very impressed.

1 ACCEPTED SOLUTION

Accepted Solutions

So this is my completely different method, which does work on any email client, but it does require the use of a premium Power Automate license:

 

  1. I created a new document library on SharePoint and uploaded a bunch of images to it
  2. I changed the view to expose the ID of the each uploaded image, like this:

Paulie78_0-1613433716679.png

Next I created a really simple flow which uses a HTTP trigger as it's action:

https://ibb.co/0My36Ph

Http-Image-Server.png

The HTTP trigger action makes use of the relative path functionality:

Paulie78_1-1613433911759.png

So now you can use the HTTP Get URL, which in my case is:

https://prod-48.westeurope.logic.azure.com/workflows/59c5a92ccebe4f97adfd52eb6cf213a8/triggers/manual/paths/invoke/picID/1?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=DNrMaouJY_Sifq8DRvbeWcuDl8TGKgeFpvP9NxDmOcQ

 

The ID of the image is in the URL and can simply be changed to reflect the ID of the picture I want to be served to the client.

You can then include this URL in your IMG HTML tag and it will display the image. 

So if you copy that URL above into your browser and modify the picID it will serve you a different image. This will be accessible from anywhere without having to authenticate. 

Make sense?

View solution in original post

26 REPLIES 26
abm
Most Valuable Professional
Most Valuable Professional

Hi @CW 

 

Is your outlook authentication is same as SharePoint? Try setting a public image from a website and see whether that works for all other emails. If then the issue is with SharePoint authentication for other email clients.

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials

Hi abm. Yes all the correct and same authentication.

I even attempted calling a url from Google docs and Dropbox.

Maybe I should pull my image from the fancy spot Microsoft uses since those graphics flawlessly fly through every e-mail test.

I had a look at this, and found a way of displaying the picture in any client, but it needs PA Premium. Do you have that?

abm
Most Valuable Professional
Most Valuable Professional

Hi @CW 

 

Thanks for your reply. Not sure what you meant by same authentication. What I was asking is your SharePoint login authentication is same as your outlook domain as a single sign on. That means outlook automatically authenticated hence it can see the image from SharePoint. For google email or emails its not on same domain so it won't show because under lying image need authentication to display.  A good test is to refer a public image from a website in all of your emails and see whether that displays or not. That proves why only the outlook email is showing the image and rest is not due to authentication issues. Thats my understanding.



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials

Hi Paulie. Thanks for your response 😁

Of course it does, why wouldn't it? Another Microsoft gotcha? I have Microsoft 365 Business Standard and don't even know what PA Premium is.  

So, are you alleging MSFT actually spent more time coding in blockages to not allow an image to be properly embedded so that it could be displayed in an email app other than Outlook?????????

I'm not suggesting anything - although the goal is simple "Displaying an image in an email". The details of that goal are quite complicated.

 

By premium, I meant - Power Automate Premium (as in one of the premium plans). But as you don't have that, then my solution won't work for you.

Hello abm. Yes, understood. Yes an external image shows fine. That's all well and good. I need my image to be embedded PERIOD. There has to be a way of embedding an image in an email!!! You can do it fine when constructing an email in Outlook and the image shows up in any email app. 

@CW essentially you are obviously correct. I found an unlisted video I did for another user on this forum, their requirement was slightly more complex than yours, but it's the same fundamental problem, take a look at this video:

https://www.youtube.com/watch?v=EsrV7A-23w4&feature=youtu.be

I think the HTTP request to SharePoint may solve your issue.

Hey Paulie, thanks. 

You said it!!! The goal is simple but typically with all things MSFT the solution is either

  • a workaround,
  • a hack,
  • not available till you add it to UserVoice for several years then they hope you give up and move on,
  • too and needlessly complicated (as you mentioned), or
  • requires a MAGIC PREMIUM license.

My MAGIC PREMIUM license will be to cancel. I really don't need this aggravation and frustration to simply have an embedded image in an email in 2021 no less.

It's ludicrous, inane and analogous to McDonalds requiring the consumer to go find a farm with cows, learn how to butcher cows then build your own kitchen in order to cook it provided you have their name on the building. 

But at least we now have A.I. and 3D capabilities plus connections to Trello.

I thought working with the federal government was bad, this takes the cake.

Thanks for the thought and the solution though. 👍

😐 It's not as bad as having to butcher a cow. If we focus on the solution we can get you what you want pretty quickly. 

Haha, thanks Paulie!! 👍

That's all I ever run into with their tech. It's always something. 

Anyway, the last thing I'm going to try after three days of attempts is this link: Embed images in e-mail's body using Microsoft Flow • Tomasz Poszytek, Business Applications MVP

Yes, that should work, same technique I used in the video I linked to. But it’s also the same as what you’ve already done more or less.

Yes perhaps but that video doesn't include doing it in Power Automate and I'm a quite a bit out of my league here. I'll try the other video here: Microsoft Flow: How to embed an image in an email | Siôn J Lewis (sjlewis.com)

I don't think I set it up properly.

Well that worked, for a couple of times then all I got was a page of blob.  I went back and copied the straight code then it worked again (??????)

Anyway at least I've made some headway. Thanks for your responses!! If you have anything else you'd like to add, I'm all ears.

Cheers

My guess when you got a page of blob is that it was a different image type. I.e the content type was wrong.

I’m going to write my solution up tomorrow (which is completely different approach)

So this is my completely different method, which does work on any email client, but it does require the use of a premium Power Automate license:

 

  1. I created a new document library on SharePoint and uploaded a bunch of images to it
  2. I changed the view to expose the ID of the each uploaded image, like this:

Paulie78_0-1613433716679.png

Next I created a really simple flow which uses a HTTP trigger as it's action:

https://ibb.co/0My36Ph

Http-Image-Server.png

The HTTP trigger action makes use of the relative path functionality:

Paulie78_1-1613433911759.png

So now you can use the HTTP Get URL, which in my case is:

https://prod-48.westeurope.logic.azure.com/workflows/59c5a92ccebe4f97adfd52eb6cf213a8/triggers/manual/paths/invoke/picID/1?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=DNrMaouJY_Sifq8DRvbeWcuDl8TGKgeFpvP9NxDmOcQ

 

The ID of the image is in the URL and can simply be changed to reflect the ID of the picture I want to be served to the client.

You can then include this URL in your IMG HTML tag and it will display the image. 

So if you copy that URL above into your browser and modify the picID it will serve you a different image. This will be accessible from anywhere without having to authenticate. 

Make sense?

Actually it turned out to be a weird buggy action by Power Automate or Edge.

So I followed the procedure here; Microsoft Flow: How to embed an image in an email | Siôn J Lewis (sjlewis.com) and it worked. Then I tried playing with width and height settings which somehow broke the variable function.

I narrowed it down to no matter how many times you rebuild the function then add the 'File Content' item to the function between the  , and " it would no longer output the proper value: 

<img src="data&colon;image/jpeg;base64,@{body('Get_file_content_using_path')['$content']}" alt="My Image" />

It kept kicking out the "$content' item and used "$output" instead. ????? So all you get is blob.

Then I manually entered the value rather than going back and forth with 'Function' and "Add Dynamic Content' then boom, back to the original positive test. So it does work.

There was definitely. a glitch in the matrix on this one between Edge and web version of Power Automate. 

I didn't test clearing the cache but did save, leave go back in, rebuild and still it wouldn't work as it originally did.

Seems you can only use dynamic content once effectively . Anything subsequent will break. Excellent.

Wow that's quite a complex solution. Good work!  However, I'm just learning this stuff so these type of solutions are more easily understood when you lay them out like that.

 

But, aren't there solutions like all this provided by Microsoft? Seems like so much work to add an image to an email PLUS, requiring a "\'Premium' license.

Thanks for sharing.

CW

I have tried this out and it looked like it worked until I tried clicking the link that it created which unfortunately did not work:

https://prod-65.westus.logic.azure.com/workflows/3d8f1786d5a9492e8170296e308049b4/triggers/manual/pa...

 

I tried clicking yours and it worked just fine and brought up the connected image. Any idea what I might have missed based on the error it brings up?

 

Additionally, it showed the flow as failing each time it was triggered:

 

ET11758_0-1616618339736.png

 

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,093)