Gmail client renders ' ' as symbol in preview - html

The Gmail client renders as symbol not as a white-space in preview:
<td> </td>
<td align="center" width="560">Content</td>
<td> </td>
How can I solve this?

You should add text-decoration:none
<td style="text-decoration:none;"> </td>
<td align="center" width="560">Content</td>
<td style="text-decoration:none;"> </td>

Try to use padding or margin instead of non breaking space.
<td align="center" width="560" border="1" style="padding-left: 10px; padding-right: 10px;">Content</td>

Related

Cannot get the ghost table correct

I have tried multiple times to sort out the "Ghost table" for this email template to render in Outlook mobile and online to no success. For some reason it misaligns when printing into Outlook.
Desired look:
What I am getting (both Outlook online and mobile):
Code (This version contains no ghost tables to make it easier):
<tr>
<td style="padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;">
<table width="100%" style="border-spacing:0;" role="presentation">
<tr>
<td class="padding content" style="padding-top:0px;padding-right:25px;padding-bottom:5px;padding-left:25px;width:100%;text-align:left; font-size:20px;">
<p style="font-size:23px; font-weight:bold;line-height: 30px;padding-bottom: 5px;">
First 3 Things To Try</p>
<table align="left" width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
<tr>
<td align="left">
<table width="150" border="0" cellspacing="0" cellpadding="0" role="presentation">
<tr>
<!--[if (gte mso 9)|(IE)]>
<td style="padding-top:15px;padding-bottom:15px;">
<![endif]-->
<td width="150" align="left" style="border-top:4px solid #4D5358;"></td>
<!--[if (gte mso 9)|(IE)]>
</td>
<![endif]-->
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="padding content" style="padding-top:0;padding-right:25px;padding-bottom:20px;padding-left:25px;width:100%;text-align:left;font-size:15px;">
<table>
<tr>
<td width="80">
<img src="https://i.ibb.co/nnb4qnY/user.png" width="50" height="50" alt="" style="border-width:0;width:100%;max-width:50px;max-height:50;padding-right:10px;">
</td>
<td width="370">
<p style="font-size:18px;line-height: 23px;min-width:600px; display: inline;"><strong>Setup Your Profile Picture</strong></p>
</td>
<td width="150">
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:separate;line-height:100%;">
<tr>
<td align="center" style="border-radius:4px;" bgcolor="#007da5">
<a target="_blank" href="#" target="_blank" style="font-size: 15px;font-weight: bold;text-decoration: none;color: #ffffff;background-color: #007da5;border:1px solid #007da5;border-radius:4px;padding:11px 20px;display: inline-block;">Learn
More
</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="3" style="padding-top: 10px;padding-bottom: 10px;">
<p style="font-size:18px;line-height: 23px;min-width:600px;">Its tough to tell who's behind the mask sometimes. Give us a chance to remember what your face looks like by adding a profile picture to your account. Upon setting up your profile picture, within 48 hours it will be seen across all Office
365 products, including Teams and Outlook. Please select a work-appropriate photo.</p>
</td>
</tr>
</table>
<table>
<tr>
<td width="80">
<img src="https://i.ibb.co/V2R8KDW/mobile.png" width="50" height="50" alt="" style="border-width:0;width:100%;max-width:50px;max-height:50;padding-right:10px;">
</td>
<td width="370">
<p style="font-size:18px;line-height: 23px;min-width:600px; display: inline;"><strong>Get Setup On Your Mobile</strong></p>
</td>
<td width="150">
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:separate;line-height:100%;">
<tr>
<td align="center" style="border-radius:4px;" bgcolor="#007da5">
<a target="_blank" # " target="_blank "
style="font-size: 15px;font-weight: bold;text-decoration: none;color: #ffffff;background-color: #007da5;border:1px solid #007da5;border-radius:4px;padding:11px 20px;display: inline-block; ">Learn
More
</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="3 " style="padding-top: 10px;padding-bottom: 10px; ">
<p style="font-size:18px;line-height: 23px;min-width:600px; ">With Teams and Outlook mobile apps now available to all staff, it is possible to stay in touch, even when on the go. Follow the link to see how to get setup for both Android and iPhone devices. Link best viewed on a computer.</p>
</td>
</tr>
</table>
<table>
<tr>
<td width="80 ">
<img src="https://i.ibb.co/NTfj3jJ/feature.png " width="50 " height="50 " alt=" "style="border-width:0;width:100%;max-width:50px;max-height:50;padding-right:10px; ">
</td>
<td width="370 ">
<p style="font-size:18px;line-height: 23px;min-width:600px; display: inline; "><strong>Explore!</strong></p>
</td>
<td width="150 ">
<table border="0 " cellpadding="0 " cellspacing="0 " role="presentation " style="border-collapse:separate;line-height:100%; ">
<tr>
<td align="center " style="border-radius:4px; " bgcolor="#007da5 ">
<a target="_blank "href="# " target="_blank "
style="font-size: 15px;font-weight: bold;text-decoration: none;color: #ffffff;background-color: #007da5;border:1px solid #007da5;border-radius:4px;padding:11px 20px;display: inline-block; ">Learn
More
</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="3 " style="padding-top: 10px;padding-bottom: 10px; ">
<p style="font-size:18px;line-height: 23px;min-width:600px; ">With office 365 there are tons of new features across all applications that will make your workday experience easier and more efficient. Head to Halton's Office 365 hubpage to begin exploring all the features offered. Link best viewed on a computer </p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
Any help is greatly appreciated.
This will have to be more of a 'try these things' answer since there may be multiple issues.
First, I've never had any luck with colspans (or rowspans). Edit them out by nesting a new table in there.
Second, it may be that Outlook is running out of space. You've got min-widths of 600px, and padding as well. You usually only have 600px on desktops, and on mobiles, it's more like 300px. <td> elements will expand to the size necessary automatically, so if it doesn't need to be a specific width (your icon and buttons will need to be), then don't set it.
Third, you've ghost tables incorrectly. You only need them to fix something that Outlook (desktop) doesn't recognise, like max-width (and I probably min-width, but I've never needed to use that). It needs to be semantically correct, so this construction:
<!--[if (gte mso 9)|(IE)]>
<td style="padding-top:15px;padding-bottom:15px;">
<![endif]-->
<td width="150" align="left" style="border-top:4px solid #4D5358;"></td>
<!--[if (gte mso 9)|(IE)]>
</td>
<![endif]-->
Will render two <td> elements straight after each other. If you want something different for non-Outlook desktops, then use this:
<!--[if !mso]>-->
<td width="150" align="left" style="border-top:4px solid #4D5358;"></td>
<!--<![endif]-->
Fourth, consider what you want the layout to look like under a 300px viewport width. That may totally mess with your construction. But you can use #media screen and (max-width:600px) in a <style> section to set different styles for mobile (notwithstanding limitations on some versions of Gmail app, namely, Gmail IMAP/POP).
Fifth, buttons are a whole extra beast. I'm not going to answer it here since it deserves it's own question. Essentially, Outlook won't change an inline element to inline-block or block (or vice-versa). You have to style a <td> section and the <a> just gets colour and text-decoration.

Footer text disappears in Outlook/Windows email testing

Not sure why this is happening. The footer text completely disappears in Outlook/Windows email testing. All other email clients work and, the footer appears, as it should.
Here is the template with the footer code. Did I miss closing a table or? Any suggestions? So odd-thanks for looking.
```
`<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="center" class="darkmode-footer" bgcolor="#122147" style="padding: 50px 15px;">
<table role="presentation" class="w100p" cellpadding="0" cellspacing="0" border="0" style="width: 600px; max-width: 600px;">
<tr>
<td align="center"><a href="" target="_blank"><!--[if !mso]><! -->
<div style="text-align: center;">
<br>
<span style="font-size:10px;"><span style="color:#ffffff;">You are receiving this email because you are a valued friend of the .<br>
Please note that your personal information is kept private and is never shared with other organizations.<br>
<br>
Want to change how you receive these emails?<br>
You can </span></span><span style="color:#ffffff; font-size:10px; text-decoration: underline;">change your subscription preferences here</span><span style="color:#ffffff; font-size:10px;">.<br>
View this email in a browser.<br>
<span style="color: #122147;">%%[ if 0 == 1 then ]%% %%Member_Busname%% %%Member_Addr%% %%Member_City%%, %%Member_State%% %%Member_PostalCode%% %%Member_Country%% %%[ endif ]%%</span></span></div> </td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
If you put the code which you posted into a snippet here (as I did) and in the editor click "Tidy" to properly format it, you will notice a non-fitting </td>in the 9th-to-last line, and also these superfluous closing tags in the last three lines:
</td>
</tr>
</table>
The snippet's browser emulator obviously is tolerant in fixing these errors, but I can imagine that especially mail applications like Outlook won't be that tolerant and treat this in another way.
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="center" class="darkmode-footer" bgcolor="#122147" style="padding: 50px 15px;">
<table role="presentation" class="w100p" cellpadding="0" cellspacing="0" border="0" style="width: 600px; max-width: 600px;">
<tr>
<td align="center"><a href="" target="_blank"><!--[if !mso]><! -->
<div style="text-align: center;">
<br>
<span style="font-size:10px;"><span style="color:#ffffff;">You are receiving this email because you are a valued friend of the .<br>
Please note that your personal information is kept private and is never shared with other organizations.<br>
<br>
Want to change how you receive these emails?<br>
You can </span></span><span style="color:#ffffff; font-size:10px; text-decoration: underline;">change your subscription preferences here</span><span style="color:#ffffff; font-size:10px;">.<br>
View this email in a browser.<br>
<span style="color: #122147;">%%[ if 0 == 1 then ]%% %%Member_Busname%% %%Member_Addr%% %%Member_City%%, %%Member_State%% %%Member_PostalCode%% %%Member_Country%% %%[ endif ]%%</span></span>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
You have a stray <!--[if !mso]><! -->, without a closing if (endif).
Remove that, and the text will show.

HTML table alignment not working correctly

I am currently creating a HTML email template. I have a table with 3 columns for the following:
[[logo] [text content ] [date]]
So the logo should be left aligned, and the date right aligned. However in outlook it doesn't look like the float is being accepted. this is how it currently looks.
Here is my current code:
<table cellspacing="0" cellpadding="0" border="0" style="display:flex; flex-wrap: wrap; margin-bottom:10px; width:100%;">
<tbody>
<tr>
<td width="6%"> <img style="float:left; margin-right:10px;" height="24px" width="30px" src="{{imageUrl}}">
</td>
<td width="63%;">
{{this.notificationMessage}}
</td>
<td width="30%" style="text-align:right; margin-left:6px;">{{this.date}}
</td>
</tr>
</tbody>
</table>
I have been stuck with this issue for sometime, any help is much appreiacted
HTML should be coded as if it's the year 1999.
Tables should be used for layout and the use of modern HTML and CSS is best avoided where possible.
In your case above you should just use the align attribute on the table cell e.g.
<td align=left"></td>
<td align=right"></td>
If that doesn't work then try using CSS e.g.
<td style="text-align: left;"></td>
Here's a good guide to creating HTML email template from Mailchimp:
https://templates.mailchimp.com/getting-started/html-email-basics/
you can use Float: right and i think you should omit anything about flex ( i mean: display:flex; flex-wrap: wrap;).
<html>
<body>
<table cellspacing="0" cellpadding="0" border="0" style=" margin-bottom:10px; width:100%;">
<tbody>
<tr>
<td width="6%"> <img style="float:left; margin-right:10px;" height="24px" width="30px" src="img..">
</td>
<td width="63%;">
aa
</td>
<td width="30%" style="text-align:right;float:right; margin-left:6px;">bb
</td>
</tr>
</tbody>
</table>
</body>
</html>
You can give "text-align: left" for of also instead of "float: left" on
You have to style="text-align:left; " for td.
Use below corrected code.
<table cellspacing="0" cellpadding="0" border="0" style="display:flex; flex-wrap: wrap; margin-bottom:10px; width:100%;">
<tbody>
<tr>
<td width="6%" style="text-align:left;" > <img style="float:left; margin-right:10px;" height="24px" width="30px" src="{{imageUrl}}">
</td>
<td width="63%;" style="text-align:left;" >
Notification message
</td>
<td width="30%" style="text-align:right; margin-left:6px;">date
</td>
</tr>
</tbody>
</table>

Single cell row with vertically centered image and text?

I tried searching for solutions in stack, but none of the answers I found addressed my issue.
I'm developing an email and I want to have a single cell row that has text with an image in between the text. The cell height is the full height of the image, but I want the text to be vertically centered. The text is now flush on the bottom
Here's my code (there's many inline styles, I apologize in advance). Please note this a single column row that is part of the fluid hybrid approach by Nicole Merlin.
<tr>
<td valign="middle" bgcolor="#e2f4ff" style="padding:0">
<table width="100%" align="center" border="1" style="border-spacing:0;font-family:sans-serif;color:#333333;">
<tr>
<td valign="middle" style="vertical-align: middle !important;;padding:0;text-align:left;padding-bottom: 5px !important;color: #17a0ce;font-weight: bold; Margin:0;font-size:26px; text-align: center;">
THE<img src="http://www.waldenway.com/wp-content/uploads/2015/12/largedog.png" alt="ABC's" /> OF SAFE SLEEP FOR DOGS
</td>
</tr>
</table>
</td>
</tr>
Just vertically align the image.
<table>
<tr>
<td valign="middle" bgcolor="#e2f4ff" style="padding:0">
<table width="100%" align="center" border="1" style="border-spacing:0;font-family:sans-serif;color:#333333;">
<tr>
<td valign="middle" style="vertical-align: middle !important;padding:0;text-align:left;padding-bottom: 5px !important;color: #17a0ce;font-weight: bold; Margin:0;font-size:26px; text-align: center;">
THE
<img style="vertical-align: middle !important;" src="http://www.waldenway.com/wp-content/uploads/2015/12/largedog.png" alt="ABC's" />OF SAFE SLEEP FOR DOGS
</td>
</tr>
</table>
</td>
</tr>
</table>
The best solution that works for all email clients is to push them to consider putting that particular image inline with the other text. That can be done by put the text and the image in many <td> of the same single row <tr>.
This will make you able to define the exact height, width and any other attributes you want of each tag.
Check the following:
<table>
<tr>
<td valign="middle" bgcolor="#e2f4ff" style="padding:0">
<table width="100%" align="center" border="1" style="border-spacing:0;font-family:sans-serif;color:#333333;">
<tr>
<td valign="middle">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="middle" style="vertical-align: middle !important;padding:0;text-align:left;padding-bottom: 5px !important;color: #17a0ce;font-weight: bold; Margin:0;font-size:26px; text-align: center;">
THE
</td>
<td valign="middle" style="vertical-align: middle !important;padding:0;">
<img style="vertical-align: middle !important;" src="http://www.waldenway.com/wp-content/uploads/2015/12/largedog.png" alt="ABC's" />
</td>
<td valign="middle" style="vertical-align: middle !important;padding:0;text-align:left;padding-bottom: 5px !important;color: #17a0ce;font-weight: bold; Margin:0;font-size:26px; text-align: center;"> OF SAFE SLEEP FOR DOGS
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>

html email outlook 2003 issue

I have an html email set up as
<td valign="top"><table width="650" cellspacing="0" cellpadding="0" bgcolor="#ffffff" align="center">
<tr>
<td width="25" valign="top">
<img src="/images/left_border.jpg" border="0" align="right" style="padding:0; display: block;">
</td>
<td width="600" valign="top" style="padding: 0px;">
<img src="/images/banner.jpg" border="0" align="left" style="padding:0; display: block;">
</td>
<td width="25" align="left">
<img src="/images/right_border.jpg" border="0" align="left" style="padding:0; display: block;">
</td>
</tr>
</table>
</td>
However in outlook 2003 and entourage email clients, it appears as an additional border on left and right sides.
How can it be resolved?
It's not going to work well in Outlook 2007+ either because you're using non-compatible tags including padding: and display:. So, back to the drawing board all around. Here's a refresher on what the various browsers support: http://www.campaignmonitor.com/downloads/documents-tools/Campaign_Monitor_Guide_to_CSS_Support_in_Email_27_Aug_2009.pdf
Technically, the code you posted is invalid because it starts with a <td> which has to be inside a <table> and <tr> to be valid. I'm suspecting you posted just a snippet, so perhaps providing the entire context would be best.