2011-04-08 107 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

相關問題