今天发现qtopia的qtmail对MIME格式的email的解析存在问题,于是我们应该加入对MIME格式解析部分的修改,具体问题就是太简单的处理了MIME里content-type为multipart/xxx的part。导致没有找到正确的邮件正文以及html部分。
查了一下资料,GNU mailutil里就包含了对email的处理的一些功能。我下载了1.2版本,但是./configure 后,make出错,提示连接错误,原因是在mail.local下连接时,找不到mu_pop_record等一些符号,查了查,这些符号都位于libproto/下,并且在编译的时候含有这些符号的各自的so库豆已经在各自目录下的.lib/下生成了,只是在生成mail.local的时候没有连接进来而已。解决办法:修改mail.local/Makefile。
mail_local_LDADD = \
\
\
../lib/libmuaux.la \
${MU_LIB_SIEVE}\
${MU_LIB_MBOX}\
${MU_LIB_AUTH}\
-lpam -ldl\
${MU_LIB_MAILUTILS} \
$(LTLIBINTL) $(LTLIBICONV)
改为:
mail_local_LDADD = \
\
\
../lib/libmuaux.la \
${MU_LIB_SIEVE}\
${MU_LIB_MBOX}\
${MU_LIB_POP}\
${MU_LIB_IMAP}\
${MU_LIB_MH}\
${MU_LIB_MAILDIR}\
${MU_LIB_NNTP}\
${MU_LIB_AUTH}\
-lpam -ldl\
${MU_LIB_MAILUTILS} \
$(LTLIBINTL) $(LTLIBICONV)
此外,mailutil的examples里面还包含了一些使用其api实现的诸如pop3等的小的client程序,可以看看。
阅读(1315) | 评论(0) | 转发(0) |