How to hide an image only for Outlook - email

I've built an HTML Email template which looks really good on most of the email clients but Outlook. It just doesn't want to read any inline CSS for images. Is there are way to hide images just for Outlook? Thanks for the help.

Put this around the image:
<!--[if !mso]><!--> <img> <!--<![endif]-->
I encourage you to post your html email so we could take a look and maybe suggest a solution.

Related

Email template not full-screen on mobile

I'm practising email for an outbound portfolio and I cannot for the life of me see why this isn't stretching to full-screen on mobile. Probably something really simple but some help would be much appreciated.
https://dl.dropbox.com/s/c759cldrl4t5ams/Test_email.html?dl=0
I'm going to assume you're on about IOS. If so - try putting <meta name="x-apple-disable-message-reformatting" /> in your <head></head> tags at the top of the email.

How to display images within html email content in gmail?

In yahoomail and html email, the images are loading but not in gmail. I observed that in gmail, the image urls are altered.
For example,
Image URL in yahoo/Hotmail : http://qaecmwcs.qacorp.moneygram.com/sites/Satellite?blobcol=urldata&blobkey=id&blobnocache=true&blobtable=MungoBlobs&blobwhere=1515690635784&ssbinary=true
Url for the same image in Gmail : https://ci5.googleusercontent.com/proxy/2B2Fyk0aboH-eiikaxVWdIC9DXbJzhZEuWKm5yPwUeXf3SdYRuoKBGT-HeCFRlNcg7VTzljtSsEhHkikFMGPac35C6Az2Fc2wsdig3xj0S3g1bEIABaMx9RKnTjYuqagP1hUGNl3GG4f2aHy26wHrINZkdn5Wv3y6zcvbWHUL8rabUcjHuCO05i8RM31x8iFJmUorccqIJM6P9f6-eLIaQ5GpZYCrKPJws72HfM2-AsXcg=s0-d-e1-ft#http://qaecmwcs.qacorp.moneygram.com/sites/Satellite?blobcol=urldata&blobkey=id&blobnocache=true&blobtable=MungoBlobs&blobwhere=1515690635784&ssbinary=true
When I manually remove the additional url part in the image src,from DevTools then I am able to see the image. Can any one please let me know how I can handle this in gmail?
If you want an image to work in email, it has to be viewable by your audience. The image path should be straightforward and simple. What you have posted over and over in your questions are images that are not accessible to the general public, so they will never work for an email.
Image Path
This is how an image should be formatted:
<img src="staticpath" alt="imagename" class="imageclass" />
<img src="https://www.w3schools.com/images/w3schools_green.jpg" width="104" height="142" alt="W3Schools.com">
<img src="https://placehold.it/600x600" height="600" width="600" />
More information:
https://www.w3schools.com/html/html_images.asp
Image Descriptors
As a best practice, an image path should end in a descriptor that defines what the format of the image. Images that work well with emails include .jpg .png .gif.
More Information:
https://litmus.com/blog/png-gif-or-jpeg-which-ones-should-you-use-in-email
Email Templates
Your email templates should follow the basic practices of a well-formatted html page. Email development is not Web development because email clients do not support current html 5 or css 3 standards. So it can be very hit and miss to create a complex email.
The following email templates will give you a good idea how an email should be created, how images should look, how image classes work.
Email template Examples:
http://tedgoas.github.io/Cerberus/
https://foundation.zurb.com/emails/docs/v1.0.5/index.html
Please take the time to read through this answer, read through the attached examples.
Best Practices & Considerations when writing HTML Emails
Good luck with your images.
The firewall was blocking the images from displaying. When client opened the firewall then the images within the server are loaded.

How can an email reply or forward be composed in html emails?

I'm creating a simple email client and I'm having trouble with Reply and Forward in html emails.
When I have the user compose the reply message, how do I append that content to the top of the message? I have done some investigating with how outlook does it by injecting the new message content into a paragraph or div or something like that.
How is it done in general, i.e. gmail, yahoo, etc. How do they figure out where to inject the reply content in the html?
I'm using c# so ideally there is some c# library that can handle this? If not then some idea how it's done generally so I can create a solution for it.
I've read wikipedia's Posting Style article and it gives a good overview of the general idea but nothing about how to do it in html.
Some Background
When composing HTML email, it is important to recognize that email clients have rather limited support for HTML and the level of support varies across email clients.
Because of that, although <div> and CSS are the correct layout tools for web pages, that is not true for HTML email. Even today, use <table> for layout control for HTML emails.
Additionally, the only reliable means to apply CSS is to the HTML elements with a style= attribute on each element. CSS declarations in a <head> section are often ignored by the email client. When crafting HTML email, I actually use CSS in the <head> and, once it looks correct, use this page to convert the HTML to use style= attributes. There are other options.
Not only will the <head> tag often be ignored, but so will any <body> tag.
Solving Your Problem
I would suggest placing the text included in the reply within a table (with a single <tr> and single <td>), and applying an inline CSS style to that table. That allows you to apply formatting, such as placing a colored bar down the left-hand side, italicizing the text, etc.).

ColdFusion cfmail how do I keep the formatting

In my ColdFusion program I create email (HTML/CSS) for one or many recipients, and place it in a .cfm file. The email is nicely formatted. When I run the saved file as a program, the cfmail tag sends the email along to whomever, and that is all working. However, along the way, my formatting gets lost. I understand that there is no reason for my local CSS to be functioning when the email gets to its target. But it would be nice if I could preserve the formatting I started with.
Does anyone have a suggestion about how I might do this.
If you're not including the attribute type="html" in your cfmail tag, that could be affecting the formatting of your email. Also, within the cfmail tag, embed your style within in addition to your content. For example:
<cfmail from="foo#bar.com" to="foobar#bar.com" subject"test" server="mymailserver" type="html">
<html>
<head>
<style>
.test { color: ##cc0000; }
</style>
</head>
<body>
<div class="test">This email is in red</div>
</body>
</html>
</cfmail>
Styling emails can be tricky as it's different across clients - there are whole blog articles devoted to this. For example, styles in the head section get ignored in some clients and recognised in others. Sadly, inline styles seems to be the "best" approach.
There is a good overview on the campaign monitor website of what works if which clients:
https://www.campaignmonitor.com/css/
Mailchimp have a handy tool which will inline styles for you based on your HTML/CSS:
http://templates.mailchimp.com/resources/inline-css/
It's also worth including a plain text version for maximum compatibility. You can do that like this:
<cfmail to="someone#somewhere.xyz"
from="me#here.xyz"
subject="Hello!"
type="html">
<cfmailpart type="text/plain" wraptext="60">
Hello,
This is plain text version
</cfmailpart>
<cfmailpart type="text/html">
<h3>Hello</h3>
<p>This is <b style="color:red;">HTML</b> version</p>
</cfmailpart>
</cfmail>

Laravel: How to embed image in an email as a content and not as an attachment

I have searched for ways to embed an image in an email sent with Laravel. The method I have found which most people use is to embed the image as an attachment.
<img src="{{$message->embed(asset('assets/img/logo.png'))}}" style="padding:0px; margin:0px" />
Is there a way to embed an image without it being an attachment? I tried converting the image to base64 strings but that didn't even work.
Whether its a good thing or not...
You nearly have it. I suppose the problem is that the asset() function is generating a full url and Laravel need the path to the file. Official Doc
Try this:
<img src="{{ $message->embed('assets/img/logo.png') }}" style="padding:0px; margin:0px" />
You need specify full path so,
<img src='{{ $message->embed(public_path().'/img/image.jpg') }}'>