JMail自定義郵件頭資訊的BUG
阿新 • • 發佈:2019-01-01
問題是這樣的,我想使用郵件伺服器來實現一個訊息系統,不過我的訊息需要自定義的分類,於是在郵件頭資訊中加入一個自定義的欄位:
Message message =new Message();message.From ="sss";
message.AddRecipient("[email protected]", null, null);
message.MailServerUserName ="brookes";
message.MailServerPassWord ="password";
//加入自定義頭資訊 message.AddHeader( message.Subject
message.Send("mail.mydomain.com",false); "MY-TYPE", "BROOKES LUAN");
這樣,我就可以在讀取郵件的時候,先讀取頭資訊,然後再通過判斷這個頭資訊,決定進行下面相應的分類處理。由於使用message.Headers.GetHeader("X-MY-TYPE")得到的頭資訊是加密過的,看JMail的文件,使用message.DecodeHeader("X-MY-TYPE"),結果。。。,得到的是faal error!
查了很多地方,包括Dimac官方,沒有更進一步的資料,只好放棄。改用在傳送的時候,指定message.ISOEncodeHeaders = false暫時解決了這個問題。我出問題的使用環境是.Net Framework2.0+JMail4.4 Professional。以後有時間研究一下。
另外,發現JMmail一個讓人無語的設定。傳送的時候指定Header的名字不需要前面的“X-”,而到了讀取的時候就必須加上這個字首,也是個BUG?