阻止电子邮件客户端在邮件中创建日历链接

时间:2018-02-19 19:17:53

标签: html email calendar html-email

我正在从PHP脚本发送电子邮件,一些电子邮件客户端解析邮件中的日期字符串并创建可点击的日历“链接”。一个例子是Airmail for OSX。我相信还有很多其他人都这样做。我看到了2个问题:

  • 即使链接实际上不存在,也会显示链接
  • 我无法设计它们。实际上,我甚至不知道他们是否会被创造出来。
  • 这些链接不支持Anchor CSS规则,它们通常非常难看。

我目前的解决方法是date('Y-​m-​d'),但老实说这是一些丑陋的代码,我甚至不确定它是否适用于所有电子邮件客户端。

我正在寻找一种可靠的方法来确保日期显示正确(意思是:我创建它们的方式)到处都是。

1 个答案:

答案 0 :(得分:0)

  

我目前的解决方法是日期('Y-m-d'),但老实说   这是一些丑陋的代码,我甚至不确定它是否适用于所有人   电子邮件客户端。

您在上面使用zero width space来删除设备上的链接。我在Litmus测试了以下内容:

20/02/2018
<br><br><br>
20&zwnj;/&zwnj;02&zwnj;/&zwnj;2018

这是一个石蕊链接,展示它的外观: https://litmus.com/checklist/emails/public/cd94368

正如你所说的那样丑陋(但完成工作)而你正在寻找替代方案,下面是不同的方法为不同的电子邮件客户端做这件事。

修复Gmail中的蓝色链接

当Gmail在电子邮件中发现地址或电话号码时,它会自动添加一个额外的样式声明,该声明会将未附加内联样式的电子邮件中的任何链接格式化为蓝色:

.ii a[href] { color: #15c; }

选项1(每个链接的链接):

HTML:

<span class="contact">675 Massachusetts Ave.<br>Cambridge, MA 02139, USA</span>

CSS:

.contact a {color:#000000!important; text-decoration:underline!important;}

选项2(Gmail中的所有链接):

u + #body a {
    color: inherit;
    text-decoration: none;
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit;
}

Source

修复iOS中的链接

选项1(使用元标记):

<meta content="telephone=no" name="format-detection">

选项2:

使用零宽度非连接器作为上面第一个测试答案

选项3:

将其设置为电子邮件文字的样式,或者给它另一种颜色:

a[href^=tel]{ color:#F00; text-decoration:none;}

选项4:

在iOS设备上,将一个属性注入到链接中,该链接被检测为地址,电话号码或日期。如果您在iPhone上查看Apple Mail中电子邮件的源代码,您会看到如下内容:

<a href="#" x-apple-data-detectors="true">

使用此属性,您可以在块内的样式声明中设置所有自动链接文本的样式:

a[x-apple-data-detectors] {
    color: inherit !important;
    text-decoration: none !important;
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

Source

我知道要接受很多东西,但所有选项都有效,而这只是为你的工作挑选合适的选项。

如果您有任何问题,请与我们联系。