none
請問如何將Outlook的郵件SaveAs存成HTML並指定為charset=UTF-8? RRS feed

  • 問題

  • 請問如何將Outlook的郵件SaveAs存成HTML並指定為charset=UTF-8?

    我要將讀出Outlook郵件另存成HTML檔,產出的HTML要能固定為charset=UTF-8,

    但郵件內容只要有簡體字SaveAs HTML後,開啟HTML檔案看到都是亂碼,請問還有什麼地方要處理?

    郵件內容原來編碼為GB2312如何轉換為UTF-8?

                Outlook.Application oApp = new Outlook.Application();
                Outlook.NameSpace mapinamespace = oApp.GetNamespace("MAPI");
                Outlook.MAPIFolder Inbox = mapinamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
                foreach (object item in Inbox.Items)
                {
                        var mail = item as Outlook.MailItem;
                        if (mail != null)
                        {
                            //mail.InternetCodepage = 65001;
                            mail.SaveAs(Path + FileName + ".html", Outlook.OlSaveAsType.olHTML);
                        }
                }            


    ok


    • 已編輯 Tony_Huang 2015年7月2日 上午 11:09
    2015年7月2日 上午 10:32

解答

  • 參考這篇,請對方設定外寄郵件編碼:Outlook 亂碼問題

    Outlook 收信時,就會自動解為 Unicode ,因此,若有此需求,不如直接用 VBNET/C# 寫 POP3 撈信另存為 .eml ,或改用 Windows Live Mail 。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已標示為解答 Tony_Huang 2015年7月3日 上午 12:59
    2015年7月2日 下午 03:16