spring 发邮件收件人不显示,无主题,正文显示代码
上周将发邮件调试好之后,这周另一个同事测试,发现有问题了,接受到的邮件有如下状况:发送人不显示我设定的邮箱,无主题,正文显示代码。
.egov.cn</a></p><hr /><font color=3D'#c0c0c0'>=B4=CB=D3=CA=BC=FE=CE=AA=BF=AA=
=B7=A2=C7=F8=BF=C6=BC=BC=B4=B4=D0=C2=CF=EE=C4=BF=C9=EA=B1=A8=B9=DC=C0=ED=CF=
=B5=CD=B3=CF=B5=CD=B3=D3=CA=BC=FE=A3=AC=C7=EB=CE=F0=BB=D8=B8=B4=A1=A3=C8=E7=
=C4=FA=D3=D0=D2=C9=CE=CA=A3=AC=C7=EB=D6=C2=B5=E7=A3=BA010-=B5=E7=BB=B0=BA=C5=
=C2=EB,=D0=BB=D0=BB!</font>
------=_Part_7_18172387.1294650664396--
------=_Part_6_15437677.1294650664396--
以为是代码出了问题了,可是从svn上看没有任何修改。因为找不到原因,只好各种修改,将发邮件的代码从头又写了一遍。结果还一样。很无语。
google了半天,终于在javaeye问答频道找到一篇相关帖子,Spring mail发送的邮件无主题,无收件人的问题?,基本就是这个问题。
有人提到引用看看项目引用的javamail实现是不是标准的,我以前遇到过是因为axis的lib中有个一个geronimo- javamail_1.4_spec-1.6.jar这个实现,应用启动时使用的加载的是这个jar包,只要将这个jar删掉,使用标准javamail 就可以!
上周同事刚刚往项目里添加了axis相关的包,我估计就是这个原因,一看果然有这个包,将其删除后,果真没有问题了。
好吧,java中因为包的原因总是会出一些原因,而且找起来都特别费劲,这个确实很让人无语。
1 楼 wubaodong 2011-04-07 同样的背景——应用SPRING发邮件
同样的条件——项目受到geronimo- javamail_1.4_spec-1.6.jar这个包的影响
我的项目中还出现了以下的异常
org.springframework.mail.MailSendException: Could not send mails: 503 bad sequence of commands
com.sun.mail.smtp.SMTPSendFailedException: 503 bad sequence of commands
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1275)
at com.sun.mail.smtp.SMTPTransport.data(SMTPTransport.java:1141)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:526)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:382)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:326)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:341)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:330)
看着抛出的异常,貌似跟geronimo- javamail_1.4_spec-1.6.jar冲突的是mail.jar。spring发邮件的功能也应该是依赖mail.jar吧。不过不管怎么样,geronimo- javamail_1.4_spec-1.6.ja这个东西够坑人的。