Code snippet for dealing with 2007/2010 VML issues

Hey Everyone, Ros kindly asked me to post some of my code that I'm fighting with for a HTML newsletter in Outlook 2007/2010.

My issue is that when I wrap images or anchors within a VML object, Outlook seems to remove that elements  styling altogether. Take the VML object out of the code and Outlook styles the element again (well, sorta... it doesn't style it correctly but it at least does something!). I don't know if it's something I am missing or doing wrong or if this is yet another quirk to dealing with Outlook 2007/2010. Here is a section of my code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:v="urn:schemas-microsoft-com:vml">
    <head>
        <meta content="text/html;charset=UTF-8" http-equiv="content-type" />
        <title>GSRE Newsletter</title>
        <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
        <title></title>
    </head>
    <body bgcolor="#FFFFFF" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
        <table align="center" border="0" cellpadding="0" cellspacing="0" height="1676" id="Newsletter" width="801">
            <tbody>
                <tr style="border: medium none; padding-left: 0px; padding-right: 0px;">
                    <td alt="" background="https://cc37c598f9-custmedia.vresp.com/library/1321058115/3dd8fcfb1d/v2%20Marla%20Template/SendToFriendLink.jpg" colspan="4" height="103" style="background-image: url(&quot;https://cc37c598f9-custmedia.vresp.com/library/1321058115/3dd8fcfb1d/v2%20Marla%20Template/SendToFriendLink.jpg&quot;);" width="299">
<!--[if gte mso 9]>
      <v:rect style="width:299px;height:103px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321058115/3dd8fcfb1d/v2%20Marla%20Template/SendToFriendLink.jpg" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:299px;height:103px;">
      <![endif]-->
                        <table align="right" border="0" cellpadding="0" cellspacing="0" height="103px" style="position: relative;">
                            <tbody>
                                <tr>
                                    <td valign="bottom">
                                        <a href="{VR_F2AF_LINK}" style="display: block; margin-bottom: 21px; margin-right: 45px;"><img align="none" alt="MailToFriend 3" border="0" height="25" hspace="0" src="https://cc37c598f9-custmedia.vresp.com/b0d80097ce/MailToFriend%203.gif" style="border: 0pt none; display: block;" title="MailToFriend 3" vspace="0" width="98" /></a></td>
                                </tr>
                            </tbody>
                        </table>
<!--[if gte mso 9]>
</v:shape>
<![endif]--></td>
                    <td alt="Never miss an update. Add @mail.vresp.com as a safe domain" background="https://cc37c598f9-custmedia.vresp.com/library/1321059281/e96e301852/v2%20Marla%20Template/GSREHeaderImage.jpg" colspan="2" height="103" style="background-image: url(&quot;https://cc37c598f9-custmedia.vresp.com/library/1321059281/e96e301852/v2%20Marla%20Template/GSREHeaderImage.jpg&quot;);" width="501">
<!--[if gte mso 9]>
      <v:rect style="width:501px;height:103px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321059281/e96e301852/v2%20Marla%20Template/GSREHeaderImage.jpg" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:501px;height:103px;">
      <![endif]--><!--[if gte mso 9]>
      </v:shape>
      <![endif]-->                    </td>
                    <td alt="" background="https://cc37c598f9-custmedia.vresp.com/library/1321058428/3b432006e5/v2%20Marla%20Template/spacer.gif" height="103" style="background-image: url(&quot;https://cc37c598f9-custmedia.vresp.com/library/1321058428/3b432006e5/v2 Marla Template/spacer.gif&quot;);" width="1">
<!--[if gte mso 9]>
      <v:rect style="width:1px;height:103px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321058428/3b432006e5/v2%20Marla%20Template/spacer.gif" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:1px;height:103px;">
      <![endif]--><!--[if gte mso 9]>
      </v:shape>
      <![endif]-->                    </td>
                </tr>
                <tr>
                    <td alt="" background="https://cc37c598f9-custmedia.vresp.com/library/1321058200/19893f2081/v2%20Marla%20Template/HeaderBottomImage.jpg" colspan="6" height="21" style="background-image: url(&quot;https://cc37c598f9-custmedia.vresp.com/library/1321058200/19893f2081/v2%20Marla%20Template/HeaderBottomImage.jpg&quot;); padding-left: 0px; padding-right: 0px;" width="800">
<!--[if gte mso 9]>
      <v:rect style="width:800px;height:21px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321058200/19893f2081/v2%20Marla%20Template/HeaderBottomImage.jpg" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:800px;height:21px;">
      <![endif]-->                        <p style="text-align: right; font-size: 6.5pt; font-weight: bold; font-family: Arial,Helvetica,sans-serif; color: rgb(13, 48, 16); margin-top: 0px; margin-bottom: 5px; margin-right: 28px; padding: 0px;">
                            Having trouble viewing this? <a href="{VR_HOSTED_LINK}">View in a browser</a></p>
<!--[if gte mso 9]>
      </v:shape>
      <![endif]-->                    </td>
                </tr>
                <tr>
                    <td alt="" colspan="6" height="400" width="800">
                        <img align="none" alt="FeaturedListing" border="0" height="400" src="https://cc37c598f9-custmedia.vresp.com/b0d80097ce/FeaturedListing.jpg" style="border: 0px none; width: 800px; height: 400px; display: block;" title="FeaturedListing" vspace="0" width="800" /></td>
                </tr>

This isn't the entire newsletter... it's a bit involved so I didn't want to bother everyone with entire thing. The service my client has chosen, "adjusts" code to their idea of what it should be as it saves and doesn't want any CSS other than a little inline styling used so if you see any archaic practices in that code, it's most likely the service doing it's "magic".  I just need some help with determining what's going wrong so I can apply the method to whole newsletter. Does nesting an element in a VML object change the way the styling behaves in Outlook or am I leaving something out?

As an alternative to this method, I could also accomplish what I need to do using an entire background image, rather slicing background image up and making it small background sections of the individual TD. Before I was aware of all this Outlook idiocy I was actually doing just that with CSS... I attempted to use the body background method from the campaign monitor article below for that method as well:

<!--[if gte mso 9]>
<v:background fill="t">
   <v:fill type="tile" src="http://www.example.com/background_image.jpg" />
</v:background>
<![endif]-->

The issue I had though was that this method makes the background tile and it is also not aligned with the table (which has to be centered thanks to some code my clients online service uses) for the newsletter. If there is a way to gain control of the position of the VML background and prevent it from repeating or tiling, that may be a cleaner fix for me as it would sidestep the styling being disabled. I have been unable to modify the VML code to make it work that way though. I looked at the VML W3C notes, but the edits I made to the code either didn't appear to make any difference or made the image not show up. I have a version of my HTML that could accommodate either method though so please, whichever you guys think is the better method let me know!

One other question (sorry for such a long post!) Does anyone know any way at all to preview HTML in Outlook 2010 quickly? Dreamweaver can't send a preview through Outlook and I can't find any way at all to make Outlook let me preview HTML, either by opening a file or by creating a new message... It's driving me nuts having to send the email out through the newsletter client constantly and wait for it to process and then wait for the e-mail to actually show up. So much wasted time, especially when Outlook is the ONLY client that is not looking right at this point. I am also somewhat familiar with and use Web Developer Express, so if there is a method that I can preview Outlook 2007/2010 behavior that would use that software, I would be interested to hear it... anything that could make this nightmare end! ;)

Thanks for the input and assistance guys! I really do appreciate it! I am used to CSS and standards, never did an HTML email before this and Outlook is going to drive me to drink!

roshodgekiss roshodgekiss, 5 years ago

Hi Jeremy, thanks for posting here and sorry for the delayed reply. There was a bit of invalid code in the sample you provided above, including:

- &quot; instead of " in the CSS (eg. &quot;https://... on images)
- alt= being used in <td> tags
- two <meta> declarations
- a height= declaration on the table that was causing the layout to go mad.
- ...

It's all good, these are all pretty standard things that we all do from time to time :) After validating and adjusting the code, the text styling appears in Outlook 2007. Here's what it looks like in the inbox:

https://img.skitch.com/20111117-jfdhsdmxwt7r4ui6btbtwifk66.png

Here's the final code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta content="text/html;charset=UTF-8" http-equiv="content-type" />
<title>GSRE Newsletter</title>
</head>
<body bgcolor="#FFFFFF" style="margin: 0; padding: 0;">
<table align="center" border="0" cellpadding="0" cellspacing="0" id="Newsletter" width="800">
  <tr style="border: medium none; padding-left: 0px; padding-right: 0px;">
    <td background="https://cc37c598f9-custmedia.vresp.com/library/1321058115/3dd8fcfb1d/v2%20Marla%20Template/SendToFriendLink.jpg" colspan="4" height="103" style="background-image: url(https://cc37c598f9-custmedia.vresp.com/library/1321058115/3dd8fcfb1d/v2%20Marla%20Template/SendToFriendLink.jpg);" width="299"><!--[if gte mso 9]>
      <v:rect style="width:299px;height:103px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321058115/3dd8fcfb1d/v2%20Marla%20Template/SendToFriendLink.jpg" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:299px;height:103px;">
      <![endif]-->
      <table align="right" border="0" cellpadding="0" cellspacing="0" height="103px" style="position: relative;">
        <tr>
          <td valign="bottom"><forwardtoafriend style="display: block; margin-bottom: 21px; margin-right: 45px;"><img alt="MailToFriend 3" border="0" height="25" hspace="0" src="https://cc37c598f9-custmedia.vresp.com/b0d80097ce/MailToFriend%203.gif" style="border: 0pt none; display: block;" title="MailToFriend 3" vspace="0" width="98" /></forwardtoafriend></td>
        </tr>
      </table>
      <!--[if gte mso 9]>
</v:shape>
<![endif]--></td>
    <td background="https://cc37c598f9-custmedia.vresp.com/library/1321059281/e96e301852/v2%20Marla%20Template/GSREHeaderImage.jpg" colspan="2" height="103" style="background-image: url(https://cc37c598f9-custmedia.vresp.com/library/1321059281/e96e301852/v2%20Marla%20Template/GSREHeaderImage.jpg);" width="501"><!--[if gte mso 9]>
      <v:rect style="width:501px;height:103px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321059281/e96e301852/v2%20Marla%20Template/GSREHeaderImage.jpg" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:501px;height:103px;">
      <![endif]-->
      <!--[if gte mso 9]>
      </v:shape>
      <![endif]--></td>
    <td background="https://cc37c598f9-custmedia.vresp.com/library/1321058428/3b432006e5/v2%20Marla%20Template/spacer.gif" height="103" style="background-image: url(https://cc37c598f9-custmedia.vresp.com/library/1321058428/3b432006e5/v2 Marla Template/spacer.gif);" width="1"><!--[if gte mso 9]>
      <v:rect style="width:1px;height:103px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321058428/3b432006e5/v2%20Marla%20Template/spacer.gif" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:1px;height:103px;">
      <![endif]-->
      <!--[if gte mso 9]>
      </v:shape>
      <![endif]--></td>
  </tr>
  <tr>
    <td background="https://cc37c598f9-custmedia.vresp.com/library/1321058200/19893f2081/v2%20Marla%20Template/HeaderBottomImage.jpg" colspan="6" height="21" style="background-image: url(https://cc37c598f9-custmedia.vresp.com/library/1321058200/19893f2081/v2%20Marla%20Template/HeaderBottomImage.jpg); padding-left: 0px; padding-right: 0px;" width="800"><!--[if gte mso 9]>
      <v:rect style="width:800px;height:21px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321058200/19893f2081/v2%20Marla%20Template/HeaderBottomImage.jpg" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:800px;height:21px;">
      <![endif]-->
      <p style="text-align: right; font-size: 6.5pt; font-weight: bold; font-family: Arial,Helvetica,sans-serif; color: #0D3010; margin-top: 0px; margin-bottom: 5px; margin-right: 28px; padding: 0px;"> Having trouble viewing this?
        <webversion style="text-align: right; font-size: 6.5pt; font-weight: bold; font-family: Arial,Helvetica,sans-serif; color: #0D3010;">View in a browser</webversion>
      </p>
      <!--[if gte mso 9]>
      </v:shape>
      <![endif]--></td>
  </tr>
  <tr>
    <td colspan="6" height="400" width="800"><img alt="FeaturedListing" border="0" height="400" src="https://cc37c598f9-custmedia.vresp.com/b0d80097ce/FeaturedListing.jpg" style="border: 0px none; width: 800px; height: 400px; display: block;" title="FeaturedListing" vspace="0" width="800" /></td>
  </tr>
</table>
<unsubscribe>Unsub</unsubscribe>
</body>
</html>

I couldn't see anything amiss with your VML, so my guess is that the styling problems were caused by a combination of invalid HTML/CSS and potentially, how Vertical Response deals with styles applied to their template tags (sorry, I replaced the VR tags with Campaign Monitor ones, so I could import and test). There's also a chance that VR doesn't look kindly on VML on import into their app, but I have no evidence to back this up.

Does anyone know any way at all to preview HTML in Outlook 2010 quickly?

The only way to do this effectively is to import and send a test email to an Outlook 2007/2010 account from an email service like Campaign Monitor or your client's VR account. Alternately, you can try using our design and spam testing service for $5 a pop.

Note that it's free to start a Campaign Monitor account and send test emails from there (we only charge when you send to more than 5 recipients), so you're more than welcome to import your code into our app and use it for testing purposes... Who knows, you and your client may even like it ;)

Thanks, Jeremy! If you're going to go drinking, don't forget to invite me, too :)


Get in touch with us on Twitter: http://twitter.com/campaignmonitor
We're also on Facebook: http://facebook.com/campaignmonitor
JeremyRuth, 5 years ago

Thanks for the response! Unfortunately most (but probably not all) of that incorrect code is from Vertical response. They have an "image editor" panel that you are supposed to be able to move things around and make edits with a graphical interface rather than needing to know how to code. That is all fine, but what I have found is that my imported code that comes in clean and passing validation (even with Microsoft's own Word 2007 validator plug-in), that the code will only stay as I pasted it until someone opens the image based editor. At that point it re-formats everything quite a bit (like the &qout for just a small example... I have never used that method, I actually use " and it modifies all instances to that!). There is quite a bit of complaint on the Vertical Response boards about it breaking peoples designs, but no change is planned from the VR team to do anything about it as far as I can tell. Unfortunately my client (who chose the VR service) will be primarily using the image based panel so I think I just have to live with it :(

That may be where some of my issues are coming in then, two systems fighting to do things their own way that don't necessarily agree. I'll look over your coding in detail to see what I can change... thanks! One question though, the "mail to friend" link in the top left, I was wanting to be in a specific place that is more to the bottom of that table, more or less inline with the logo. I noticed on your sample it is also displaying at the top of the table, even though you also kept the v-align bottom specification. Is this something that Outlook ignores no matter what? You can open the code in any other mail client or FireFox etc to see the proper placement. Is there a way to make images display at the bottom of their table in Outlook when inside a VML object? That is one of they key things I need to get sorted, is vertical alignment of images. This real estate newsletter has several pictures that need to be places in specific locations in their table cells. While Outlook seems to obey margin left and right to a point, it disregards every single thing I do to make the alignment push to the bottom. If I take the image out of the VML tag however, it will align to the bottom of the layer. Is this a VML specific issue, that I just have to live with, or does bottom alignment have to be coded differently to work with VML?

Also, how can I remove the additional padding that Outlook is putting in the cells? I am not using any padding settings anywhere that I am aware of for it to inherit, yet in all the cells down the newsletter there is a fair amount of padding added, that is why the "Having trouble seeing this"  link is off on the right side. It should be flush with the text in the image above it, and it in all other clients, but Outlook is forcing some margins or padding in the table cells somehow and it's messing the entire newsletter up quite a bit. Any ideas about that?

Thanks for the tips and looking over my code! If you have a solution to the margin/padding in cells and the valign issue when inside a VML object you'll be my hero! :)

roshodgekiss roshodgekiss, 5 years ago

Hi Jeremy, as margin and padding support can be pretty variable in Outlook (as is vertical alignment, it seems), the most reliable fix is to use table cell widths to set elements in their correct spot. I'm not sure if the VML is to blame, I think Outlook is just shonky. Here's the result when I did this:

https://img.skitch.com/20111118-gp4q1hrexnkwugkn69k5nh2qmq.png

Here's the adjusted code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta content="text/html;charset=UTF-8" http-equiv="content-type" />
<title>GSRE Newsletter</title>
</head>
<body bgcolor="#FFFFFF" style="margin: 0; padding: 0;">
<table align="center" border="0" cellpadding="0" cellspacing="0" id="Newsletter" width="800">
  <tr>
    <td background="https://cc37c598f9-custmedia.vresp.com/library/1321058115/3dd8fcfb1d/v2%20Marla%20Template/SendToFriendLink.jpg" height="103" width="299" style="background-image: url(https://cc37c598f9-custmedia.vresp.com/library/1321058115/3dd8fcfb1d/v2%20Marla%20Template/SendToFriendLink.jpg); text-align: right;"><!--[if gte mso 9]>
      <v:rect style="width:299px;height:103px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321058115/3dd8fcfb1d/v2%20Marla%20Template/SendToFriendLink.jpg" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:299px;height:103px;">
      <![endif]-->
      <table border="0" cellpadding="0" cellspacing="0" width="299" height="103px">
        <tr>
          <td width="145" rowspan="2">&nbsp;</td>
          <td height="53"><img src="https://cc37c598f9-custmedia.vresp.com/library/1321058428/3b432006e5/v2%20Marla%20Template/spacer.gif" width="1" height="53" /></td>
        </tr>
        <tr>
          <td><forwardtoafriend><img alt="MailToFriend 3" border="0" height="25" src="https://cc37c598f9-custmedia.vresp.com/b0d80097ce/MailToFriend%203.gif" style="border: 0; display: block;" title="MailToFriend 3" width="98" /></forwardtoafriend></td>
        </tr>
      </table>
      <!--[if gte mso 9]>
</v:shape>
<![endif]--></td>
    <td background="https://cc37c598f9-custmedia.vresp.com/library/1321059281/e96e301852/v2%20Marla%20Template/GSREHeaderImage.jpg" height="103" width="501" style="background-image: url(https://cc37c598f9-custmedia.vresp.com/library/1321059281/e96e301852/v2%20Marla%20Template/GSREHeaderImage.jpg);"><!--[if gte mso 9]>
      <v:rect style="width:501px;height:103px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321059281/e96e301852/v2%20Marla%20Template/GSREHeaderImage.jpg" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:501px;height:103px;">
      <![endif]-->
      <img src="https://cc37c598f9-custmedia.vresp.com/library/1321058428/3b432006e5/v2%20Marla%20Template/spacer.gif" width="1"/>
      <!--[if gte mso 9]>
      </v:shape>
      <![endif]--></td>
  </tr>
  <tr>
    <td width="800" height="21" colspan="2" background="https://cc37c598f9-custmedia.vresp.com/library/1321058200/19893f2081/v2%20Marla%20Template/HeaderBottomImage.jpg" style="background-image: url(https://cc37c598f9-custmedia.vresp.com/library/1321058200/19893f2081/v2%20Marla%20Template/HeaderBottomImage.jpg);"><!--[if gte mso 9]>
      <v:rect style="width:800px;height:21px;" strokecolor="none">
      <v:fill type="tile" src="https://cc37c598f9-custmedia.vresp.com/library/1321058200/19893f2081/v2%20Marla%20Template/HeaderBottomImage.jpg" /></v:fill>
      </v:rect>
      <v:shape style="position:absolute;width:800px;height:21px;">
      <![endif]-->
      <table width="800" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="560" style="font-size: 6.5pt; font-weight: bold; font-family: Arial,Helvetica,sans-serif;">&nbsp;</td>
          <td width="240" style="font-size: 6.5pt; font-weight: bold; font-family: Arial,Helvetica,sans-serif; color: #0D3010; padding: 0 0 5px 0;">Having trouble viewing this?
            <webversion style="font-size: 6.5pt; font-weight: bold; font-family: Arial,Helvetica,sans-serif; color: #0D3010;">View in a browser</webversion></td>
        </tr>
      </table>
      <!--[if gte mso 9]>
      </v:shape>
      <![endif]--></td>
  </tr>
  <tr>
    <td height="400" width="800" colspan="2" ><img alt="FeaturedListing" border="0" height="400" src="https://cc37c598f9-custmedia.vresp.com/b0d80097ce/FeaturedListing.jpg" style="border: 0px none; width: 800px; height: 400px; display: block;" title="FeaturedListing" width="800" /></td>
  </tr>
</table>
<unsubscribe>Unsub</unsubscribe>
</body>
</html>

I also removed border: medium none; from the above, as it may have been causing the padding. There were also some invalid colspan= attributes (as you say, a VR thing?). If you're still having issues with padding, try applying border-collapse: collapse; to your table.

The bottom line is, use tables in tables where possible if you need to get margins/padding right in Outlook. Hope that does the trick! :D


Get in touch with us on Twitter: http://twitter.com/campaignmonitor
We're also on Facebook: http://facebook.com/campaignmonitor
JeremyRuth, 5 years ago

Thank you very much!

I believe that this method will work for me, it sure is going to be frustrating though! The reason those colspans are in there is because this is just the header portion of a rather over complicated newsletter (for the challenges that come with Outlook anyway)... I actually let someone talk me into letting Photoshop do the HTML slices for this one as well since I had only done websites until now and use pretty much all CSS. I was pretty rusty on table layout and old school HTML but after refreshing, I must say Photoshop didn't do a very good job at all!

I played around with the concept enough to see it should work, and that I will have to do a lot of restructuring to the tables to get a "pure" table cell and spacer image solution. Also there are the challenges of VR playing with the code, even to the point of adding a td on me sometimes...?!?! what fun!

Either way, thanks again for the help, it was very beneficial! I hope that some day Microsoft will come down from their mighty mountain and think about those of us who are in the trenches doing the day to day stuff with their insane software! I know I won't be recommending Outlook to anyone after this, just on principal ;)

roshodgekiss roshodgekiss, 5 years ago

Haha, totally agree this is all crazy. My advice is try to nest tables where possible and avoid complicated colspans, as these can cause issues down the track. Needless to say, I think Microsoft is going to keep us well busy for a while yet... ;)


Get in touch with us on Twitter: http://twitter.com/campaignmonitor
We're also on Facebook: http://facebook.com/campaignmonitor

Join 200,000 companies around the world that use Campaign Monitor to run email marketing campaigns that deliver results for their business.

Get started for free
1-888-533-8098