Как завершить границу в сообщении - PullRequest
1 голос
/ 21 апреля 2010

Всякий раз, когда я пытаюсь узнать тип содержимого составного сообщения с помощью API javamail, я получаю тип содержимого как:

 multipart/mixed; 
        boundary="----=_Part_19_32879825.1271840022140"

Я уже отключил свой антивирус, но все еще не могу завершить эту границу.

Я пытаюсь отправить сообщение по протоколу IMAP.

Я использую Hmail Server.

Может ли кто-нибудь сказать мне причину этого?

1 Ответ

1 голос
/ 21 апреля 2010

Если отправляемое вами электронное письмо содержит вложение, это не является ошибкой. Вот как действительно должен выглядеть заголовок сообщения:

MIME-версия: 1.0

Тип содержимого: составной / смешанный; граница = "граница"

Это сообщение из нескольких частей в формате MIME.

- граница

Тип содержимого: текст / обычный

Это тело сообщения.

- граница

Тип содержимого: application / octet-stream

Content-Transfer-Encoding: base64

PGh0bWw + CiAgPGhlYWQ + CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA + VGhpcyBpcyB0aGUg Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A ​​+ CiAgPC9ib2R5Pgo8L2h0bWw + Cg ==

- граница -

От: http://en.wikipedia.org/wiki/MIME

Значение атрибута border указывает, где заканчивается каждая часть сообщения и начинается следующая.

EDIT:

Если вы получаете ошибку, связанную с отсутствующей конечной границей (это ваш вопрос?), То вы можете установить для отсутствующей конечной границы значение false:

The mail.mime.multipart.ignoremissingendboundary свойство может быть установлено в false, чтобы вызвать MessagingException, которое будет брошено, если составные данные не заканчиваются требуемая конечная граница. Если это свойство имеет значение true или нет установить, отсутствующие конечные границы не считать ошибку и окончательное тело часть заканчивается в конце данных

Это из JavaMail API .

...