问题是这样的,我想使用邮件服务器来实现一个消息系统,不过我的消息需要自定义的分类,于是在邮件头信息中加入一个自定义的字段:






message.AddHeader(
message.Subject
=
"
xxxxxxxxxx
"
;
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?