Windows 2003 POP3 Service Mail Forward

Windows 2003 發行時直接在系統中加上了 POP3 Service 的功能,讓許多人使用一台 Server 就可以架不同功能的伺服器,而且它也支援了多 Domain 的功能,讓你可以在一台郵件伺服器中支援多組 Domain,管理上也方便許多。但由於它是一個陽春版的服務程式,有許多功能都作不到,像是 Mail Server 中常用到的 Forward(自動轉寄),以及 Alias 等等的功能。這篇文章可以用來解決類似這樣的問題。 故事是這樣的,我有一些 Email 帳號已經使用了很久,常常會有 SPAM Mail 的問題,這個問題已經困擾了我很久,當初在 Linux 下是使用 Spamassassin 加上 Sophos 的 Anit-Virus 功能來進行信件的過濾。在將機器換到 Windows 2003 Server 之後,這些問題又回來了。每天有許多的病毒信件,再加上為數不少的 SPAM。我嘗試在 Outlook 中加上 SpamBays 的 Add-In… 一開始沒甚麼問題,但是當正常信件資料夾中的信件量越來越多,SpamBays 收信及自動過濾的速度變得非常的緩慢。 該是換個收信方法的時候了,我發現 SpyMac 上頭提供了 SPAM 及 Virus Mail 過濾的功能,打算將所有帳號的信先轉到 SpyMac 的服務上,過濾之後我再收下來。但是 SpyMac 並未提供主動自其它 POP Server 收信的功能,我必需在自己各個帳號設定 Forward 的功能轉到 SpyMac 的帳號上。 連線到 HiNET 的 WebMail 想要設定轉寄,發現 HiNET 已經不提供 MTA 的功能了,另外最多 SPAM 的帳號是自己管理的,放在 Windows 2003 的 POP3 Service 上頭,也不提供這個功能 (在 Unix Like 機器上其實只要一個簡單的 .forward 檔放在 home 目錄下)。網路上這個功能的討論文章很少,剛好找到這一篇: ...

July 24, 2004 · 3 min

火大! .NET 的 DataGrid 簡直只有 Beta 階段

前一篇文章也是提到 DataGrid,這幾天,幾乎都是在跟 DataGrid 進行混戰,一個簡單的自動對齊功能都沒有,甚至在實作自動對齊時都要使用 Graphics 這個底層的類別。實際去作功能的比較,連 Web 版本的 DataGrid 都作得比 WinForm 的 DataGrid 還要方便,對這個 DataGrid 簡直是失望透頂了。 先前碰到的都是 Web 的程式,沒有想到在 WinForm 上居然會比 Web 介面還要難搞,不得不稍稍批評一下。首先除了自動對齊之外,輸出是另一個大問題,想從 DataGrid 直接輸出到 Excel, MDB, XML 實在是困難重重,最簡單的方法還是得從資料來源 Data Tables, Data Member, Data Source 著手,這比起你想要使用迴圈的方式在 DataGrid 裡讀資料要簡單得多,甚至還只需要你兩行程式就可以作到。 如果你想要列印 DataGrid 顯示的資料,欄寬對齊要自行處理,對齊後的 Word Wrap 也是難以控制,如果再碰上每個 Grid Cell 的 Style (Background color 等等) 想要作些改變,最後逼得你得去 Override Paint 這個 Handler。 在跟 .NET 的 DataGrid 打得頭破血流之後,你可能想要使用回 Excel 的 COM Control,或是直接換個 3rd Party 的 DataGrid 控制項,盡量離這個 Beta 等級的東西遠一點。希望,下一個版本 (.NET Framework 2.0) 的東西能稍微有點長進吧。 ...

July 20, 2004 · 1 min

DataGrid 欄寬自動對齊 (Autofit)

在使用 DataGrid 時,指定的資料集導入 DataGrid 顯示之後,會發現所有欄位的資料過長的地方都被切掉了,那是因為 DataGrid 並沒有自動對齊的功能,它僅僅是使用 DataGrid 的 width 去除以 column 數量,來作為每個 column 的寬度,挺笨的不是嗎?找了一下 Google,發現了一個非常好用的 funcion 可以簡單的作到 Autofit 的功能 (這個 “Autofit” 是在 Excel 的 Automation 用的 term),該篇文章原始出處在: http://www.windowsforms.com/Forums/ShowPost.aspx?tabIndex=1&tabId=41&PostID=3193 我這邊列出 C# 跟 VB.NET 的兩個不同版本。 [使用範例] AutoFitDataGrid(DataGrid1, DataGrid1.DataSource, 10) AutoFitDataGrid(DataGrid2, DataGrid2.DataSource(DataGrid2.DataMember), 5) AutoFitDataGrid(DataGrid3, myDataTable) Or AutoFitDataGrid (DGItems, myDS.Tables[0], 2); [C# 版本] private void AutoFitDataGrid(DataGrid oDataGrid, DataTable oData, int nColumnPadding) { int nColumnWidth; int nHeaderWidth; Graphics g = null; string strMax = “”; string strValue; ...

July 14, 2004 · 2 min

補捉 Main Form 啟始前的例外 (.NET C#)

在程式中,我們常會使用到 try… catch… 語法來偵測錯誤,並把錯誤訊息顯示出來以方便除錯。前兩天我在跑一個 WinForm 程式的時候,怎麼跑都只有 JIT Debug 的錯誤訊息,完全不知道錯在哪,寫了個 try… catch… 卻連執行都沒有執行到。後來 Google 了一下,發現有人寫了一個 Class,可以用來 catch 所謂的 UnHandled 的例外,並且有 WinForm 跟 Console Application 兩種不同的呼叫法。本來想直接拿來用的,後來靈光一閃,直接在 Main Form 的建構的地方使用靈光閃現時的 Idea,果然將錯誤訊息正確的給顯示出來了,而不用去呼叫找到的那組 Class。 這裡的 Sample 假設 Main Form 的名稱為 frmMain,以下是程式進入點 void Main() 修改如下: static void Main() { try { Application.Run(new frmMain()); } catch (Exception e) { MessageBox.Show (e.Message + “\r\n” + e.Source + “\r\n” + e.TargetSite, “[Coolfire] – UnHandled exception found” ); } } 如此即會正確顯示在 Main Form 啟始前所發生的例外。 ...

July 12, 2004 · 1 min

Free DVD Ripper – DVDx

想要把 DVD 轉換為 AVI (Divx), VCD2.0 , SCVD1.0 的朋友,可以在 SourceForge 下載這一個免費的程式,它可以在 Windows 下運行,處理轉換的速度還不算慢,目前已經出到 2.2 版了,相信以後的新版本會有更有善的操作介面。 http://dvdx.sourceforge.net/ 利用它來作 DVD Ripper,可以更方便的分享你手中的 DVD 影片… :p

July 4, 2004 · 1 min

我看『IT Doesn’t Mater』

前幾個星期莎拉姐姐 Email 了這篇文章的 PDF 檔案給大家,讓大家一起討論這一篇在 IT 界掀起喧然大波的文章,我寫了一篇短的,也 Email 出去了,剛剛在整理檔案的時候發現這篇草稿,丟到 Blog 上來,檔案也可以順手刪了。 — 剛剛稍微看了一下文章,也順便在網路上看了一下其他人的評論,發現這個標題的確是下得太聳動了一點。首先,以文章內容的原意,是希望企業對於 IT 的投資應當不要過度的投資。這一點跟中國大陸最近的宏觀調控有點相似之處。最主要的是在於 IT 的普級已經到達了跟用水用電一樣了,這時候我們是不是在追求新技術的同時,也要放慢腳步,避免因為過快的腳步而無形中損耗了更多的資金,造成企業因 IT 的投資而產生泡沫現象。 這就如同一台汽車加油時要求加滿或是加個八百塊一樣,加滿油與加八百一樣可以在路上行駛,但是加滿油將造成汽車行駛時需負擔更多的重量,無形中造成了更大的油耗。Nicholas Carr 所指的 “過度投資” 即是一個類似加滿油的例子,一般如果有朋友要買新的電腦,我會建議他們買一台比 “夠用” 再好一點點的配備,意思是說: 你不用買最好的,但是要比夠用還要多一點。在追求 IT 技術的價格與回報的比例時,大家的想法是不是也會與購買硬體一樣的去考慮到成本與投資回報? 這是一定的。所以 Carr 所說的只是一件大家已經知道的事,只是因為標題聳動,所以造成了那麼大的討論。 IT 還是能夠提供企業在戰略上決策的優勢,但企業主還是要瞭解自己企業需要的是甚麼,而不是一昧的接受 IT 業務人員所推銷的新技術,漫無目標的投注在 IT 上所花費的成本。回到專案的角度來說,是要看清楚甚麼部分需要新技術的投入,而哪一些企業內部的業務流程是屬於不變的,不停的投資在不變的業務流程,所造成的資源浪費與投資報酬比例對企業來說是不利的。 數字會說話…. :p

July 4, 2004 · 1 min

移掉網頁上的天氣小圖

剛剛把網頁上的 wunderground.com 的天氣圖拿掉了,那是上次逛了別人的 Blog 時,發現網頁上有這麼一個天氣圖還挺好玩的,特別掛了一個台北的天氣在這個網站,上頭標示著台北的目前溫度。剛剛 Blog 完新的文章,發現他們家所標的氣溫根本不準確,勉強只能拿來宣示這個 Blog 的擁有人住在哪個地區… Useless… :p PS. 多寫了這一篇是因為要充版面,怎麼說呢,我發現 MT 只要沒有常寫文章,因為 Archive 的關係,有人寫了 Comment 之後就很容易的把舊文章給 Archive 掉了,然後索引頁就會看起來很空… :p 反正呢,經常 Blog 就對了,反正也花不了多少時間… 咚!

July 4, 2004 · 1 min

微軟的 PowerToys for Windows XP

這是一個微軟的網頁連結,提供了一些好用的小程式,可以增加 Windows XP 的易用性,這些小程式中我認為最為好用的就是 “Alt-Tab Replacement“,它可以讓 Task Switch 具有 Pre-View 的功能,也就是說 (ALT-TAB) 的 Task Switch 中可以預覽要切換程式的視窗,避免切換錯程式。另外其它的小程式也可以讓你的 Windows XP 更聽話,有空下載來玩玩看吧!! 下載連結: http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

July 4, 2004 · 1 min

Skypeout? Skype 的新服務!!

果然這家公司終究還是朝著營利的方向邁進,也許它是繼 P2P 的 MP3 Download 業務之後另一個可以使用 P2P 技術賺到錢的點子,在 Skype 襲捲整個網路語音通訊市場之後,令人期待的新服務出現了。除了 PC to PC 的語音功能之外,現在又多了一項 PC to Phone 的功能可以選擇,而且難得的是它一推出,就涵蓋了這個星球上的多數地區。最重要的是在它的 Global Rate Area 中,包含了許多我們經常通訊的地區在內。 目前網路上的中文文章以『中央大學松濤風情資訊站』的這一篇文章的內容最為詳細,除了翻譯 Skype 官方文件外,內容中還加上作者自己的實測經驗與費率比較。 Global Rate?! 這是一個非常低的通訊價格,在此列表中的地區,你都可以使用每分鐘 0.012 歐元的通訊費率 (發文的同時,它大約是 NTD$ 0.48)。 由於 Skypeout 的通訊費用極低,若你經常撥打的地區是在 Global Rate 中,以每分鐘 0.012 歐元的費用計算的話,初次購買通話點數時,我建議大家購買 10 歐元的試用即可,因為它有 180 天的使用限制,每次購買會再展延 180 天,因為通訊費用很低,所以能不能在 180 天內打完所購買的點數,可能會是一個挑戰… :p 目前測試過的通訊品質為: 『尚可』,Skype 在 PC to PC 的通訊模式中可以得到優於 Phone to Phone 的品質,但是使用 PC to Phone 時,其通訊品質略低於 Phone to Phone,但是對於經常撥打國際長途的朋友來說,可以省下一大筆的通訊費用,其價格/品質比來說也算是很划得來的了。 [通訊錄管理] 在目前版本的 Skype 並未提供一個好用的通訊錄管理介面給 Skypeout 的功能使用,不過經過測試,先前我在『Skype 的網頁呼叫連結製作法 暨 臭虫報告』這一篇文章中所提到的 callto:// 功能可以利用在 Skypeout 中,所以你可以自己編輯一個 HTML 檔案,使用超連結來管理你自己的 Skypeout 通訊錄。這個功能也許以後 Skype 會想要整合在自身的程式中或是 Outlook 的通訊錄管理也說不定!! ...

June 29, 2004 · 1 min

最小的 CD Autorun 啟動程式

這是一支在 2002-OCT-30 所發表的程式,剛剛在整理資料的時候看到它,順便把它拿出來重新發表一次。它其實是使用一種叫作 C– 的語言所寫/編譯的,所以能夠將執行檔的大小縮到很小… :p PS. 經測試可以與 WinXP 中文版 相容!! 我們看過有些人使用 ShelExec.exe 之類的程式來啟動 CD 的 Autorun 功能,這也是一個可以保證在多數電腦上都可以執行的方法。不過實際去瞭解的時候,發現 ShelExec.exe 這個檔案居然有 150K 左右的大小,所以我另外再寫了一支小程式,只有 1K 大,你可以在這個位址下載這個檔案: http://awaytech.com/autorun/startit.exe— (1024 Byte) 如果你要使用 StartIt 的話,則 autorun.inf 要改成這個樣子: [autorun] open=startit.exe icon=xxxx.ico 並且要把 startit.exe 這個檔案也燒錄在光碟機的根目錄才行。 StartIt 會自動開啟根目錄底下的 index.htm。 Enjoy~

June 15, 2004 · 1 min