|
Как определить размер посылаемого 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/topic.php?fid=59&fpage=860&tid=2154592]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 251ms |
total: | 399ms |
0 / 0 |