2011-04-08 99 views
8

我发送电子邮件给我的用户,它们有相同的主题,但包含除页眉和页脚外的其他内容。标题包含一个标志,“n部分x”消息和<hr>,并且永远不会隐藏。页脚包含一个<hr>,与我不想隐藏的相同的“n部分x”文本和一些功能链接(下一步,暂停,鸣叫)。有没有办法阻止Gmail的“引用文本”隐藏我的电子邮件页脚?

我试着把这些放在<div id=timestamp>。我也尝试将&ts=timestamp添加到链接。链接是图像,所以我创建了一个名为image2.png的指向image1.png的符号链接,并交替显示这些图像。这些都没有奏效。

有没有一个简单的解决方案,我还没有想过呢?

下面是一些HTML:

names are really separated by, rather than just a comma.</p> 
<p>This function does not do any checking for problems. We assume, 
in this case, that the input is always correct.</p> 
</div> 
</div> 
<div> 
<p>All that remains now is putting the pieces together.</div></div></div></div></span> 
<hr>(Part 19 of about 74)<br> 
<a href='http://www.mywebapp.com/index.php?action=next'> 
<img border=0 src='http://www.mywebapp.com/images/next.png' alt='Get next text'</a>&nbsp;&nbsp; 
<a href='http://www.mywebapp.com/index.php?action=pause&listid=252&itemid=2100'> 
<img border=0 src='http://www.mywebapp.com/images/pause.png' alt='Pause this text'></a>&nbsp;&nbsp; 
<a href='http://twitter.com/home?status=tweetGoesHere'><img border=0 src='http://www.mywebapp.com/images/twitter-a.png' alt='Tweet this'/></a><br> 
Original page: <a href='http://eloquentjavascript.net/print.html'>here</a><br> 

这里是截图:

iPhone screenshot

+1

(请注意,你能否提供截图来展示正在发生的事情?还有一些HTML代码?这些都是猜测) – 2011-04-08 12:31:21

+0

我添加了一个截图和一些html。 – SeanO 2011-04-08 14:26:20

+0

@SeanO:HTML与屏幕截图不匹配。 – 2011-04-08 14:46:35

回答

8

我能够通过附加<span>包含一个独特的隐形字符串的每一行来解决这个问题我的电子邮件页脚。起初,我只是将time()添加到每一行,但有些电子邮件客户端将其解释为电话号码并将该字符串转换为URL。所以,我预先/后加了一个非数字字符的字符串,事情似乎工作正常。

必须有一个更好的办法,虽然做到这一点...

+1

这正是我目前正在做的。你有没有找到其他方法?我严重憎恨那些“显示引用的文本”,因为它隐藏了整个电子邮件,我用我制作的自定义支持票系统发送了具有相同主题的电子邮件。你有没有找到更好的方法来做到这一点呢?如果不是你如何使随机字符串不可见? – Nathan 2011-08-29 02:46:38

+0

嗯,我知道你是如何让它看不见的,我只是不知道如何制作一个看不见的字母串。我只知道如何用rand()来随机生成一串数字。 – Nathan 2011-08-29 03:10:38

+1

正如我所做的那样,您可以创建一个随机数(例如,154385553)并执行此操作z154385553z。或者,你可以md5()你的随机数来创建它的散列值并使用它。 – SeanO 2011-09-30 04:19:57

1

打破了我的交易电子邮件,成块要疯了,从Gmail和隐藏重复它的部分后,我实现了由SeanO的回答启发辅助函数我的meanie-mail-composer包为我自动添加随机字符串。

此帮助程序默认包含隐藏的<span>,每个</p>标记前带有一个5个字符的随机字符串。

下面的代码片段,做的伎俩(Node.js的):

const crypto = require('crypto'); 

//Helper to randomize HTML contents 
function randomize(html, tag = '</p>') { 

    //Create a 5 char random string for email content to be unique 
    const time = String(Date.now()); 
    const hash = crypto 
    .createHash('md5') 
    .update(time) 
    .digest('hex') 
    .substr(0, 5); 

    //Create HTML string to replace with and regex 
    const str = `<span style="display: none !important;">${hash}</span>${tag}`; 
    const regex = new RegExp(tag, 'g'); 

    //Replace in HTML 
    return html.replace(regex, str); 
} 

没有更多打散的电子邮件!

+1

很高兴帮助! 5年半以上的职位可以帮到很大的好处。 – SeanO 2016-12-17 20:38:47

+1

很遗憾,一个5年半的老问题仍然存在于Gmail中,并且我们可以对此做任何“正常”的事情...... :( – 2016-12-18 08:21:36

相关问题