Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
11.08.2003, 13:55
|
|||
---|---|---|---|
|
|||
Как определить размер посылаемого emal-а |
|||
#18+
Я использую JavaMail для посылки email-ов. Все работает замечательно, но недавно появилась потребность писать сведения о каждой посылке в log (посылатель, получатель, размер сообщения, кол-во mime parts и т.д.). Я не могу узнать размер посылаемого email-а. Мой код выглядит примерно так: MimeMessage message = new MimeMessage(jmail_session); message.setFrom(from); message.setSubject(subject); message.addRecipient(Message.RecipientType.TO, to); //текст сообщения MimeMultipart multipart = new MimeMultipart(); MimeBodyPart body = new MimeBodyPart(); body.setText(getBody(), "iso-8859-1"); multipart.addBodyPart(body); //аттачменты . Эта часть может делаться в цикле несколько раз BodyPart attachment = new MimeBodyPart(); DataSource ds = new ByteArrayDataSource(data, null, filename); attachment.setDataHandler(new DataHandler(ds)); attachment.setDisposition("attachment; filename=\"" + filename + "\""); attachment.setFileName(filename); multipart.addBodyPart(attachment); message.setContent(multipart); Transport.send(message); У класса MimeMessage ecть метод getSize(), но он всегда возвращает -1. Я могу получить InputStream и посчитать ко-во байт в нем: InputStream is = message.getInputStream(); int size = 0; while (is.read() != -1) { size++; } Проблема в том, что это значение ВСЕГДА меньше реального, т.к. сообщение переводится в кодировку base64 перед отправкой. У кого-нибудь есть соображения по этому поводу? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.08.2003, 12:47
|
|||
---|---|---|---|
|
|||
Как определить размер посылаемого emal-а |
|||
#18+
Я бы message пихал в ByteArrayOutputStream Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
В бою проверенно. Размер показывает правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=59&tablet=1&tid=2154592]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
146ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 249ms |
0 / 0 |