系统邮件模板的邮箱兼容性

2023-11-18

 

近期支付宝的系统邮件进行了一次改版,在这次改版的过程中,我们遇到了很多在网页中显示正常的html邮件在邮箱中显示异常的问题,下面我们把遇到的问题和一些常用的代码书写规则和大家分享:

共性问题:(许多邮箱都会出现的问题)

1. 字体大小会发生变化,排版出现异常:

解决方法:使用table来排版,每个部分的样式用内联样式写法style=”…” ,例如:

<td style=” font-size:12px; color:#000000;”><a href=”” target=”_blank” style=”color:#FFFFFF;”>XXXX</a></td>

这种写法使样式能准确的作用到每个html元素,防止部分web客户端过滤全局样式或者因同名样式引起的问题。其实这是每个edm制作方法中都会提到的问题,只是刚开始做edm的人大多都有偷懒的心态,事实证明这个懒偷不得,就算是用id选择器添加样式的写法也会被邮箱忽略。

2. 链接显示颜色被改变

这个问题和上一个问题有一定关联。一些邮箱(如sohugmail)会将链接定义成特定的颜色,若使用内联样式控制颜色,又会导致在其它邮箱中悬浮状态的链接不能变色。为了保证链接颜色显示正常,又能让用户的鼠标移过时产生变化,我们最后在模板中采用了变化下划线的方法。

3. 图片显示:

图片必须设定高宽,关键图片alt=”…” 属性要写得很清楚,不要使用背景图片。

alt属性是让浏览器在图片未被显示前提示图片内容。不使用背景图片是防止部分web邮箱和客户端对背景图片进行过滤,例如Qq邮箱中的背景图片会随窗口的大小变化而产生移动,而outlook2007干脆就过滤了背景图片。

个性问题:(个别邮箱遇到的问题)

1. TOM邮箱排版问题:

TOM邮箱默认<span>标签是另起一行,在代码中尽量不要使用span标签(如改变字体颜色),使用其他标签替代,修改后的小提醒部分的代码写法:

<strong style=”font-weight:normal;”>XXX</strong>

2. Outlook2007没有背景图片、贫乏的背景颜色、不支持CSSfloat position ;

原因:Outlook 2007已经不再使用IE来渲染HTML格式E-mail,改而使用Word2007引擎,以期提高邮件的安全性、增强渲染的统一性。

注意css样式中的line-height属性在outlook2007中会导致拼合的图片存在间隙,因此需要确保该属性只影响文字区域。

此外,设计师如何在测试邮件在各个邮箱中的效果?在这里我们推荐用163邮箱进行邮件测试(非常感谢国际站的同学的提供这个方法):

方法:注册163邮箱;选择“写信”;在文字样式栏上点击“全部功能”;在弹出的栏目中选最后一个“<>”即可发送html代码;

第一步:

第二步:

最后,非常感谢集团其它公司以及许多同行给予我们的帮助,在修改邮件模板的过程中,我们从这里也得到很多帮助:

口碑UED(大米):http://ued.koubei.com/?p=239

其它链接:http://www.inpeck.com/blog/2008/04/30/suggestions-of-email-document/

 

附:补充资料(感谢伯约的补充)

关于Outlook2007

因为Outlook2007用的是Word2007来检测HTML邮件中的标签元素的,由于Word2007不支持以下CSS属性,所以会有一系列问题

background-attachment; background-image; background-position; background-repeat;

clear; display; float; list-style-image; list-style-position

以下的链接中对outlook2007word2007)支持的HTMLCSS作了详细说明:

Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007 (Part 1 of 2):

http://msdn2.microsoft.com/en-us/library/aa338201.aspx

Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007 (Part 2 of 2):

http://msdn2.microsoft.com/en-us/library/aa338200.aspx

2007 Office System Tool: Outlook HTML and CSS Validator: 点此查看

星期二, 11月 4th, 2008 前端技术.

 

 

链接地址 : http://ued.alipay.com/?p=309

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

系统邮件模板的邮箱兼容性 的相关文章

  • CSS隐藏滚动条,但元素可滚动

    我有一个名为 items 的元素 元素内的内容更长 比元素高度 我想让它可滚动但隐藏滚动条 我该怎么做呢 div class left side div class items style display block width 94 ma
  • 防止拖动不可拖动元素时出现重影?

    我正在创建一个利用 HTML5 拖放 API 的网站 但是 为了增加用户体验 我想在用户拖动不可拖动元素时防止出现重影 这可能吗 此外 几乎每个元素似乎 可拖动的 默认情况下 人们可以单击然后快速拖动浏览器中的几乎任何元素 这会创建一个重影
  • 使用 JavaScript 动态创建复选框?

    我正在尝试使用以下 HTML JavaScript 动态创建一个复选框 有什么想法为什么它不起作用吗 div div
  • 为什么 webkit 径向渐变在 Safari 中不起作用?

    这在 Chrome 中有效 但在 Safari 中无效 background webkit radial gradient center ellipse cover fdfdfd d3d3d3 我该如何修复 Safari 的问题 它甚至在
  • 使用复选框清除表单

    我正在尝试使用复选框来清除表单 但我不希望重置来清除复选框本身 我使用的代码如下
  • 音频标签的 Html5 惰性“onplay”事件处理程序?

    使用新的 Html5 音频标签 onplay 事件似乎仅在第一次播放音频时触发 在此示例中 当单击 播放 时 音频将开始并显示一个显示 正在播放 的警报弹出窗口 当音频结束并再次单击 播放 时 音频会再次开始 但不会触发警报 我在这里错过了
  • 这个 HTML5
    元素有什么问题?

    div div
  • 表单输入不会采用百分比填充

    如果使用像素填充 我的表单输入会正确显示 但使用左侧和右侧的百分比填充会破坏它 我不明白为什么 它可以在 Safari 中运行 但在 Firefox 3 5 3 OSX 中损坏 问题是 当我使用百分比填充时 填充全部中断 因此输入值没有很好
  • SVG 图标像素对齐?

    在此图像中 左侧 黑色 垃圾桶是图标字体 它的字体大小是 16px 这使得图标在 100 的时间里看起来都很清晰 两个蓝色垃圾桶是 SVG 它们具有完全相同的标记 其中之一happened一个是像素对齐的 另一个不是 我怎样才能强制我的 S
  • 引导下拉菜单 同一水平行上的两个链接

    我正在使用 Bootstrap 制作下拉菜单 我想要的选项之一是下拉菜单中同一水平行上的两个链接 我将如何实现这一目标 div class navbar div class navbar inner li class dropdown a
  • React 无法识别 DOM 元素上的 `isActive` 属性 - styled-components

    我有以下内容svg我传递道具的组件 import React from react export default props gt
  • 如何使用javascript将视频文件转换为字符串?

    我在 signalR 工作 我想通过将视频文件拆分为不同部分来将视频文件从一个客户端发送到另一个客户端 我已经通过分割图像源数据发送图像并在另一个客户端上接收该图像 document getElementById fileUpload ad
  • 半流体布局 CSS/Html

    我有一个两列布局 其中右列的静态宽度为 350px 左列的宽度应填充页面的其余部分 或者至少这是我想要发生的事情 但不幸的是事实并非如此 看一下我的 css html http jsfiddle net CmJ7P http jsfiddl
  • 如何创建共享网络目录或文件的超链接?

    我检查了以下两个相关讨论 1 如何创建指向本地可执行文件的超链接 https stackoverflow com questions 2815982 how do i make a hyperlink to a local executab
  • 如何使用 javascript 将我的域名字母大写?

    假设我的域名是www hello com 如何使用 jQuery JavaScript 使浏览器的 URL 栏看起来像 www HELLO com 您无法更改浏览器地址栏中显示的内容 这是一项基本的安全功能 您可以使您的域名全部大写 并将页
  • React Native 中 fontAwesome 图标的圆形轮廓

    我想使用 fontAwesome 图标 使其位于圆圈的中间 我想将它用作一个图标项 我读到我们可以将它与圆形图标一起使用并将其放置在其中 但我无法使其工作 import IconFA from react native vector ico
  • 如何使用css网格制作一个垄断板?

    I want to create a monopoly board like There are following features in the board 角是方形的 比其他盒子大 每行的文本都面向特定的角度 我的基本 html 结构
  • 数据表 - 从 AJAX 源过滤数据

    我有一个数据表 正在从 api 获取数据 现在我的状态是活动的 非活动的 如果标志是活动的 那么我需要在数据表中显示 否则我不应该显示过期的 这是我的fiddle https jsfiddle net lakshmipriya001 qLp
  • Xpath 获取 if href 包含字符串的一部分

    您好 我尝试获取包含 href p random tagged see 的所有元素 这是我的路线 div preceding h2 text Most recent div div a href p tagged see 我该如何修复此代码
  • 调用一个从 AngularJS 表达式本地计算值的函数是不是很糟糕?

    我读了关于使用范围的一些 AngularJS 陷阱的文章 http thenittygritty co angularjs pitfalls using scopes 并且它指出您不应在表达式中使用函数 并且我知道每次框架认为需要时都可能会

随机推荐

  • 机器人基础知识一

    1 六轴机器人中的六轴是什么 在实际生产中常用的6关节工业机器人有6个可活动的关节 轴 不同的工业机器人本体运动轴的定义也不同 用于保证末端执行器达到工作空间任意位置的轴被称为基本轴或主轴 用于实现末端执行器任意空间姿态的轴 则称为腕部轴或
  • HttpCanary实战教程

    1 基础教程 HttpCanary实战教程 Sendige 博客园 cnblogs com 2 安卓11 12使用HttpCanary抓包https教程 AE博客 墨渊 aeink com 3 HttpCanary使用指南 各种神奇的插件
  • 动态SQL以及告别顺序ID并获取

    首先数据库中的自增id会因为你的删除数据而发生断层 我们可以清空数据库数据和改变下一个自增来解决但都不能不通过操作就解决问题 下面我们通过一行代码获取长形字符串ID package utils import java util UUID a
  • codility 在线编程测试

    转自 http www csdn net article 2012 03 06 312807 企业如何招聘到高质量的程序员 发表于 2012 03 06 23 10 32071次阅读 来源 Coding Horror 55 条评论 作者 J
  • 【软件测试】Git详细-获取Git仓库,全网最全一篇打通...

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • rockylinux简单安装

    前言 官网 https rockylinux org 阿里云 https mirrors aliyun com rockylinux 下载地址 最小镜像只有2G https mirrors aliyun com rockylinux 8 8
  • 色 彩 RGB 值 对 照 表

    参见 https blog csdn net bravegogo article details 52119723
  • 【论文翻译】Convolutional Oriented Boundaries

    目标轮廓检测与全卷积编解码器网络 摘要 本文实现一种基于全卷积编解码器网络的轮廓检测深度学习算法 1 与以往的低级边缘检测不同 该算法重点是检测高级对象轮廓 算法网络是在PASCALVOC上进行端到端训练的 从不准确的多边形注释中提炼出gr
  • ubuntu 安装docker

    Ubuntu 安装 Docker CE 警告 切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker 准备工作 系统要求 Docker CE 支持以下版本的 Ubuntu 操作系统 Artful 17 10
  • 【温故知新】深度学习中的Dropout

    今天仔细看了一下AlexNet 发现最后有个dropout层 按以前理解还以为类似降采样 图片来自这里 出现原因 神经网络神经元可能过多 会导致过拟合 所以dropout作用就是随机删减一些神经元 给定删减概率p 如下图 图片来自这里 具体
  • Crest Ocean System URP

    https assetstore unity com packages tools particles effects crest ocean system urp 141674
  • python语法-模块

    python语法 模块 模块的导入 导入语法 from 模块名 improt 模块 类 变量 函数 as 别名 演示模块导入 import time print hello time sleep 5 print world 自定义模块并导入
  • Cuda 编程 矩阵转置

    将矩阵分块进行转置 输入矩阵 输出矩阵 include
  • 递归算法与非递归算法效率的一般计算方法

    1 非递归算法 1 首先确定一个参数n来表示输入的大小 2 分析算法的基本操作 一般在循环的最里层 3 判断算法需要执行基本操作的次数是否只与n有关 如果它还与其他因数有关 则需要分开考虑算法的最好 最坏 平均情况 4 建立一个计算算法需要
  • java 导出excel实例(内含通用excel导出工具类)

    1 创建一个ExportPropertiesDto 用于动态导出表头 前端传过来的json数组类似 field year fieldName 年份 field departmentName fieldName 部门 field typeNa
  • 机器学习基础线性回归——预测网店的销售额

    线性回归 步骤 明确定义所要解决的问题 网店销售额的预测 在数据的收集与预处理环节 分五个环节完成数据的预处理工作 分别如下 1 收集数据 需要提供的网店的相关记录 2 将收集到的数据可视化 显示出来看一看 3 做特征工程 使数据更容易被机
  • python使用时间戳计算运行时间

    时间戳计算运行时间 from time import time time 记下每一次time 这一行命令时的时间戳 时间戳是一行数字 用来记录此时此刻的时间 t0 time 当前时间 for i in range 10 print i i
  • Java内存分区

    1 简介 内存全称电子计算机内存储器 用于暂时存储CPU中运行的数据以及与磁盘交换的数据 它是硬件存储与CPU进行沟通的桥梁 计算机中的所有程序进行都在内存中进行 所以java程序要想运行必须要在内存中申请一块空间 java内存中可以分为堆
  • 编译出错 程序中有游离的‘\302‘

    编者按 复制别人的代码到Linux中运行 在编译时出错 错误 程序中有游离的 302 查找资料后获取解决方法 在此做一个记录 错误提示如下 read c 164 6 错误 程序中有游离的 302 read c 164 6 错误 程序中有游离
  • 系统邮件模板的邮箱兼容性

    近期支付宝的系统邮件进行了一次改版 在这次改版的过程中 我们遇到了很多在网页中显示正常的html邮件在邮箱中显示异常的问题 下面我们把遇到的问题和一些常用的代码书写规则和大家分享 共性问题 许多邮箱都会出现的问题 1 字体大小会发生变化 排