|
Как определить размер посылаемого 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 перед отправкой. У кого-нибудь есть соображения по этому поводу? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 13:55 |
|
Как определить размер посылаемого emal-а
|
|||
---|---|---|---|
#18+
Я бы message пихал в ByteArrayOutputStream Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
В бою проверенно. Размер показывает правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 12:47 |
|
|
start [/forum/moderation_log.php?user_name=%D0%B9%D0%BE%D1%88%D0%BA%D0%B8%D0%BD+%D0%BA%D0%BE%D1%82]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 436ms |
total: | 605ms |
0 / 0 |