Java MimeMessage информация о печати заголовка в теле - PullRequest
0 голосов
/ 04 марта 2011

Кодовая база, которую я унаследовал, распечатывает некоторую информацию заголовка в теле письма. Вот что печатается:

Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Если я message.writeTo(System.out); сразу после создания сообщения, вышеприведенный текст будет распечатан.

Есть ли файл свойств или что-то еще, что определяет этот материал?

Похоже, что когда почта приходит, исходящий сервер записал правильную / другую информацию заголовка для этих трех атрибутов.

Есть идеи по его удалению?

Кроме того, вот вся функция:

private String sendConfirmationEmail (String to, String from, String subject, String body, boolean CCSender) {
  try
  {
    String smtpHost = Properties.smtp;      
    String fromAddress = from;
    String toAddress = to;

    Properties properties = System.getProperties();
    properties.put("mail.smtp.host", smtpHost);

    Session session = Session.getInstance(properties, null);

    MimeMessage message = new MimeMessage(session);

    message.setFrom(new InternetAddress(fromAddress));
    message.setRecipient(Message.RecipientType.TO,
            new InternetAddress(toAddress));

    message.setRecipient(Message.RecipientType.BCC,
            new InternetAddress(fromAddress));

    if (CCSender) {
      message.setRecipient(Message.RecipientType.CC,
              new InternetAddress(from));
    }
    message.setSubject(subject);
    message.setText(body);

    message.saveChanges();

    Transport.send(message);
    return "1:success";
  }
  catch(Exception e)
  {
    return "0:failure "+e.toString();
  }
}

1 Ответ

2 голосов
/ 04 марта 2011

Эти свойства предоставляются через API Java-почты, которые устанавливаются в качестве атрибутов заголовка, например, MimeMessage .

Message msg = new MimeMessage(session);
msg.setHeader("MIME-Version", "1.0" );
msg.setHeader("Content-Type", "text/plain; charset=us-ascii" );

Заголовки, в свою очередь, могут быть изменены почтовыми серверами в соответствии с их локальной политикой.Связь между серверами по электронной почте вполне может быть выполнена с использованием, например, gzip сжатия, когда потребуется другой набор заголовков.

[EDIT] Если вы наблюдаете исходный код для MimeMessage, вы увидите, что некоторые заголовки установлены по умолчанию, например setHeader("MIME-Version", "1.0");.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...