以程式自動匯入 Outlook 簽名檔
這兩天接到一個有趣的題目,希望能夠用程式作出一個自動加入簽名檔到 Outlook 中的功能。這個題目主要是因為企業整體的 CIS 設計,希望能夠統一所有員工的外送郵件,使用相同的、設計過的及被公關部門認可的簽名檔,是的,上面那一句話聽起來讓人覺得公司的行政程序往往比寫程式還難。 首先,先試試看可不可以用程式作到,然後要 User 準備好一個在 Outlook 裡 “可用的” 簽名檔來進行後續的製作,在 User 還沒有把東西給我之前,自己先作一個簡單的 POC,確定後面程式的流程要怎麼跑: 在 Outlook 裡用內建的功能建立一個 HTML 格式的簽名檔。 用搜尋功能找到簽名檔的儲存路徑: 發現存放在 C:\Documents and Settings\Administrator\Application Data\Microsoft\Signatures 開啟 regedit 搜尋簽名檔是否存在 registry 中: 沒有。 OK… 接下來看看簽名檔存放路徑,發現有三個檔案,分別是:檔名.HTM 檔名.TXT 檔名.RTF,這表示當你使用不同的信件格式的時候,Outlook 會幫你套用的簽名檔就分別是從這三個檔案裡讀的。 試一下剛剛想的是對的,把三個簽名檔 Rename,再到 Outlook 裡改預設簽名檔,看看可不可以改成 Rename 過的:沒錯! 測試寄一份信件給自己,看看收到的簽名檔格式對不對(分別寄出 HTML、TEXT、RTF 三種格式):都正確。 好的,現在腦袋裡程式的流程是:使用者輸入個人資料→用個人資料 Replace 掉範本檔裡的值→找出 User 的 Home 目錄→分別寫入三個不同格式的簽名檔→然後… Shit,使用者得自己去改預設簽名才行,因為並沒有修改預設簽名檔的方法(記下來,要找方法搞定它)。 使用者的 Email 來了,耶~怎麼是圖形檔格式,幫幫忙,用圖形來傳送整個簽名嗎?會被網管人員扁死的,這個剛出爐的圖形大小為 57K,每一封信多夾了 57K 的話,網路不塞爆了才怪!縮圖、改成 HTML 格式及對格式作一些美化修改等等的動作。寄一份給自己試試看,哇哩,誰殺了比爾?Outlook 不支援 TD background=”xxx.jpg” 的語法,再試,改為 TABLE background= 的格式,也不行,再再試,改為 style=”background-image 的語法,也不行,放棄。折衷對策一:改用 bgcolor 來騙過所有觀眾的眼睛,測試,效果還不錯,縮圖後的結果為 17K,雖然可能還是會遭到網管的討伐,不過我盡力了。 ...