2013-04-09 52 views
0

我發送電子郵件警報與他們的靜態谷歌地圖。某些電子郵件客戶端正在更改鏈接的內容,使其不再有效。具體而言,「&」正在變爲& a m p; (無空格)電子郵件客戶端更改我的鏈接&&

谷歌不會接受替換的鏈接。我也嘗試發送%26代替&,但谷歌不會接受。這隻在美國在線和Hotmail等特定系統上纔會發生。

下面是一個例子鏈接: http://maps.google.com/maps/api/staticmap?sensor=false&center=36.124023600000,-115.170356400000&size=500x300&maptype=roadmap&markers=label:S%7Ccolor:red%7C36.114646000000,-115.172816000000&markers=label:H%7Ccolor:green%7C36.124023600000,-115.170356400000

有反正告訴電子郵件客戶端不改變鏈接,或反正是有改變原來的鏈接與谷歌合作,繞過電子郵件客戶端替換嗎?

TIA,

大衛

+0

您使用哪個電子郵件客戶端發送消息? – 2013-04-09 19:02:54

回答

0

您的電子郵件程序可能是告訴接收的程序是什麼類型的消息。有一個標題「Content-Type:」通常是「text/plain」或「text/html」,默認爲text/plain。

可能發生的情況是,您的郵件以text/html格式發送,並且接收程序以HTML格式呈現,但首先要修復這些內容,以便將&符號顯示爲&符號而不是HTML指令。否則,如果我發送消息說「約翰&卡羅正在舉行驚喜派對」,那麼&符將會搞砸或者不會顯示。 (我現在該忘記的。)

它也可能是您的電子郵件程序做轉換的消息被髮送出去,大部分接收的電子郵件程序都意識到這個問題,並修復它。

爲了說不清楚是怎麼回事,自己發送這些警報,並查看源。您如何查看源代碼取決於您用來閱讀郵件的電子郵件程序。使用GMail,打開郵件,在郵件的右上角有一個下拉菜單「更多」;選擇「顯示原始」。查找內容類型是什麼以及URL中的&符號是&還是&。現在

,至於如何解決它,你現在正在做的可能就是剛剛鍵入URL到消息。相反,嘗試將其作爲鏈接。你如何做到這一點將取決於你使用哪個程序編寫,但在GMail上,例如,有一個像鏈的小符號。按下該按鈕並輸入URL。這將生成HTML類似 <a href="http://mydomain.com/blah/blah?foo=1&bar=2&baz=3>http://mydomain.com/blah/blah?foo=1&amp;bar=2&amp;baz=3</a> 因此,即使與符號得到顯示&amp;,當用戶點擊鏈路上,他們將獲得適當&符號的URL。

我不能肯定這將工作,因爲我不知道你正在使用,因此它是如何做的事情是什麼電子郵件程序。不過,我認爲這是可能工作。

如果沒有,你也許可以得到它通過發送文本/純而不是text/html的工作。

相關問題