練習寫了一個賀卡程式,寫賀卡程式其實並不難,為了考驗自己我做了一些更突破的方式,結合 Flash 來讓賀卡有動態效果,既然運用到 Flash 只好將程式改為 utf-8 編碼,顯示的文字才不會出現亂碼,也能使用各國語言,但沒想到在製作完成測試時,才驚覺 utf-8 編碼的 PHP 程式,郵件的「主題」無法顯示完整的中文,這個問題之前就困擾我很久,曾接過一個案子也需要用 utf-8,那時候沒解決問題就暫時擱著,這一擱置就將近了一年,這次查詢更多資料,總算找到方法。

$subject = "=?utf-8?B?" . base64_encode("賀卡通知") . "?=";

在寫程式的過程中有一個問題一直讓我想不通,表單傳來的值設為 x 或 y 預覽的時候經過判斷式是 OK 的,但發送寫入紀錄檔後,於領取賀卡的頁面從紀錄檔中讀出的 x 或 y 值卻無法讓判斷式正常運作。

預覽頁面 : (正常)
if($_POST['Style']=="x"){
- - - - - - - - - - - - -
}

領取頁面 : (無法判斷)
從紀錄檔讀取 $style 值等於 x 時
if(x == $style){
- - - - - - - - - - - - -
}

最後我將原本的值 x or y 改為 0 or 1 才解決這個問題。
賀卡程式的版面還沒完成設計,賀圖或音樂都是臨時選的,先放上來測試看看,在想怎麼做才能讓 Yahoo 的信箱,不把領取賀卡通知信歸類為垃圾郵件,我曾經看過一篇文章:
在 PHP 內用 mail() 發出郵件時,如果沒有指定 Return Path,系統便會以預設的電郵地址代替.很多 email server 會將這類 email 檔掉或者標示成 spam ,雖然我在 header 指定 Return-Path 卻沒有作用,再詳細找一下果然 php mail() 的 Return-Path: 參數,真的沒有作用,繼續努力吧!

[ 查看我的電子賀卡 ]
arrow
arrow
    全站熱搜

    Candy 發表在 痞客邦 留言(6) 人氣()