2015-02-06 29 views
0

正確轉換我有一個網址在我的電子郵件Twitter的份額,看起來一個樣:
http://twitter.com/share?text=Praneeta%27s%20test&url=http%3A%2F%2Fwww.mydomain.com%3Fparam1%3D303%26param2%3Dtest&related=praneeta&via=Praneeta網址的特殊字符不會被SendGrid

然而SendGrid的'之前只有部分轉換(編碼爲%27 )

所以URL我在寄出的電子郵件被破壞,看起來像
http://email.mydomain.com/wf/click?upn=<long_encoded_key>%27s%27s%20test&url=http%3A%2F%2Fwww.mydomain.com%3Fparam1%3D303%26param2%3Dtest&related=praneeta&via=Praneeta

是否有變通方法嗎?

注意:如果我複製電子郵件html並通過putsmail將它發送給自己,它工作正常,只有當它通過Sendgrid時纔會中斷。

回答

3

我剛剛通過我自己的SendGrid帳戶發送了您發佈的鏈接,它看起來好像是正確編碼的。我想知道這是否是一個暫時的問題?如果您嘗試再次發送該鏈接會發生什麼情況?

+0

感謝您尋找到這一點。經過大量的挖掘,我意識到這是我的錯。網址未正確編碼。我在Chrome瀏覽器中預覽了電子郵件,當我「複製鏈接地址」時,它給了我編碼的網址。我使用Rails的'URI.encode',它不編碼'''。我切換到使用'CGI.encode'。 – Praneeta 2015-02-24 19:53:31

0

如果人們偶然發現這個問題,只是在這個問題上提出意見。該方法應該是escape例如:

CGI::escape('\'')