JavaMail - 主题和收件人字段在电子邮件中为空

Spe*_*ner 3 java jakarta-mail

我刚刚开始使用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);
  }
Run Code Online (Sandbox Code Playgroud)

}

如何让收件人查看收件人列表和主题行?

Spe*_*ner 6

事实证明包装中存在冲突.Tomcat自动在Web项目的Maven构建中包含自己的JavaMail包,这在我从标准Ja​​vaMail导入时导致了问题.

在项目的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>
Run Code Online (Sandbox Code Playgroud)