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

标签 java jakarta-mail

我刚开始使用 JavaMail,但我很难让电子邮件显示一些内容。消息被发送和接收,但是,当它出现主题和 to: 行时是空的。

这是我试图用来发送电子邮件的功能。我没有配置任何属性,所以一切都应该采用默认设置。

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);
  }

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

最佳答案

原来是包有冲突。 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>

关于JavaMail - 电子邮件中的主题和收件人字段为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7771134/

相关文章:

Java正则表达式多行

java - 已发送邮件的送达确认

Java Mail - 以字符串形式读入附件

java - 测试已发送的电子邮件 - Dumbster 和 greenmail 未捕获已发送的 JavaMail

java - 如何在 spring mqtt 集成中停止重复订阅收到的保留消息

java - 使用 Retrofit 解析要映射的 JSON 标记名称和值

java - 使用javamail读取同一封邮件的邮件和附件名称

logging - JavaMail 的 DCH 类错误

java - 使用 Java 将 CSV 文件加载到 MySQL 服务器

java - 从希伯来语文本文件 java 8 读取