java.lang.NullPointerException
at java.lang.String.concat(String.java:1827)
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.
at javax.activation.MailcapCommandMap.loadFile(MailcapCommandMap.java:276)
at javax.activation.MailcapCommandMap.
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.getContent(DataHandler.java:501)
at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1253)
at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2012)
at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1980)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:381)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:326)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:322)
at com.nes.util.OneDoorMailSender$MailSender.run(OneDoorMailSender.java:310)
at java.lang.Thread.run(Thread.java:595)
经查看java doc(http://java.sun.com/products/javabeans/glasgow/javadocs/javax/activation/MailcapCommandMap.html)发现,在用户的根目录下有个隐藏的.mailcap文件:
-e
# Java Web Start
application/x-java-jnlp-file; /usr/local/java/jre/bin/javaws %s
原来最前面有个-e的东东,与java doc描述不符,注释掉这行,然后发送邮件成功。
附:
mailcap 文件搜索顺序:
MailcapCommandMap 在用户系统的各个位置查找 mailcap 文件条目。当发出请求以搜索 MailcapCommandMap 中的命令时,它以下面的顺序搜索 mailcap 文件:
以编程方式添加到 MailcapCommandMap 实例的条目。
用户主目录中的 .mailcap 文件。
名为 META-INF/mailcap 的文件或资源。
名为 META-INF/mailcap.default 的文件或资源(通常只存在于 activation.jar 文件中)。
mailcap 文件格式:
# 注释以 '#' 开头并延续到行的末尾。
# 其中参数列表由一个或多个参数组成,
# 其中参数类似于:x-java-view=com.sun.TextViewer
# 参数列表类似于:
纯文本; ; x-java-view=com.sun.TextViewer; x-java-edit=com.sun.TextEdit
# 注意,不包含 'x-java' 参数的 mailcap 条目
# 和遵守 RFC 1524 的条目将被忽略:
image/gif; /usr/dt/bin/sdtimage %s