我刚开始使用JavaMail,我很难让电子邮件显示一些东西。然而,当主题出现时,会发送和接收消息,并且:行为空。
这是我正在尝试发送电子邮件的功能。我没有配置任何属性,所以一切都应该是默认的。
public void sendEmail(String[] ToEmailAddr, String Subject, String Body){
Session session = Session.getDefaultInstance( fMailServerConfig, null );
MimeMessage message = new MimeMessage( session );
try {
for (int i=0;i<ToEmailAddr.length;i++) {
message.addRecipient(Message.RecipientType.TO, new InternetAddress(ToEmailAddr[i]));
}
message.setSubject( Subject );
message.setText( Body );
Transport.send( message );
}
catch (MessagingException ex){
logger.error("Cannot send email. " + ex);
}
}
如何让收件人查看收件人列表和主题行?
答案 0 :(得分:6)
原来包装中存在冲突。 Tomcat自动在Web项目的Maven构建中包含自己的JavaMail包,这在我从标准JavaMail导入时导致了问题。
在项目的pom.xml文件中,我不得不像这样排除geronimo-javamail:
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-xmlbeans</artifactId>
<version>1.4.1</version>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-javamail_1.4_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
答案 1 :(得分:0)
这发生了,因为Axis2在其lib里面有geronimo-javamail_1.4_spec-1.2.jar文件,里面有javax.mail包,一个非常简单的解决方案是打开jar文件并删除里面的包geronimo jar文件,并将oracle-sun下载的lib中的javax.mail包添加到应用程序的类路径