JavaMail - поля «Тема» и «Кому» в электронной почте пусты - PullRequest
3 голосов
/ 14 октября 2011

Я только начал использовать 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);
  }

}

Как я могу заставить получателя видеть список получателей и строку темы?

Ответы [ 2 ]

6 голосов
/ 19 октября 2011

Оказывается, был конфликт в пакетах. Tomcat автоматически включает свой собственный пакет JavaMail в сборку Maven для веб-проекта, что вызывало проблемы при импорте из стандартной 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>
0 голосов
/ 06 ноября 2012

Это происходит потому, что Axis2 имеет файл geronimo-javamail_1.4_spec-1.2.jar внутри своей библиотеки lib, в которой есть пакеты javax.mail, очень простое решение - открыть файл jar и удалить пакет внутриjar-файл geronimo и добавление пакетов javax.mail из загруженной библиотеки oracle-sun в путь к классам приложения

...