java mail 在ubuntu 下的问题


Neptune 发表于 2007-9-3 14:11:04
今天终于开始在单位的机器上(ubuntu)测试jbpm的发邮件通知用户新任务。前面说过,在家里面的机器(vista)上已经配置好了,所以认为应该没有任何问题才对。结果将配置好的文件(mail-service.xml和mail-ra.rar)拷贝到ubuntu中部署的jboss jbpm的deploy下后,发现还是不行。抛出异常,如下:
java.lang.NullPointerException
at java.lang.String.concat(String.java:1997)
at com.sun.activation.registries.MailcapFile.parseLine(MailcapFile.java:235)
at com.sun.activation.registries.MailcapFile.parse(MailcapFile.java:197)
at com.sun.activation.registries.MailcapFile.createMailcapHash(MailcapFile.java:157)
at com.sun.activation.registries.MailcapFile.(MailcapFile.java:40)
at javax.activation.MailcapCommandMap.loadFile(MailcapCommandMap.java:276)
at javax.activation.MailcapCommandMap.(MailcapCommandMap.java:128)
at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:44)
at javax.activation.DataHandler.getCommandMap(DataHandler.java:136)
at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:568)
at javax.activation.DataHandler.writeTo(DataHandler.java:294)
at javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:248)
at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1268)
at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2012)
at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1980)
at javax.mail.Transport.send(Transport.java:97)

感觉很奇怪啊,在windows下试了一下,同样的代码,在windows下就没有问题,因此怀疑可能是ubuntu的问题。因为抛出异常的是 Transport.send(msg);这条语句。然后再google里找了一下,发现问题和解决方法。果然是ubuntu自己的问题。具体参考:
http://forum.java.sun.com/thread.jspa?threadID=5164454&tstart=30
以及http://permalink.gmane.org/gmane.comp.java.luntbuild.user/1156

具体的原因是,在用户的主目录下,有一个.mailcap文件($HOME/.mailcap.),不知道什么原因,ubuntu自动给它增加了奇怪的一行,表现为“-e”。将这行删除,一切OK

 

你可能感兴趣的:(java,jboss,ubuntu,jbpm,sun)