情況如下。我在MySQL中存儲了一個純文本電子郵件,其中包含換行符\r\n
。當我的php腳本需要發送郵件時,它首先填寫sprintf
的一些參數,然後郵件將與標準mail()
函數一起發送。來自MySQL的純文本電子郵件在php
我遇到的問題是,電子郵件客戶端(我的例子中的雷鳥)顯示這些換行符而不是解釋它們。
爲了測試我的腳本,我在郵件中硬編碼了一個句子。當我這樣做時,郵件被正確解釋。我的第一個嘗試是MySQL逃避反斜槓,所以我試圖做一個str_replace("\\\\", "\\", $str)
,但這沒有幫助。
我顯然做出了錯誤的假設或愚蠢的錯誤,但我沒有看到它。可能是什麼問題呢?
爲什麼不打印查詢的結果集,並確切地看到mysql返回的結果? – Razvan 2012-07-13 10:48:24
我已經完成了一個print $'result ['message']',並且在瀏覽器中沒有任何內容被轉義。 – 2012-07-13 10:53:00
然後,顯然mail()函數會跳過你的特殊字符 – Razvan 2012-07-13 10:54:43