자바 메일 API는 스트리밍을 사용합니까? 이 부분을 확인하려면 소스 코드를 어디에서 얻을 수 있습니까? 또한 raw 및 non-raw 모드를 사용하여 메일을 보내려하고 있습니다. [/ B] 비원 모드out of memory 자바 메일
new MimeMessage(session, doc.getBodyInputStream());
제가 어떤 MIME 유형이있을 수 있으므로 다음 할 필요, 그래서에있다 : 원료 모드 난의 MimeMessage 생성자 입력 스트림을 전달할 수 DataHandler
및 DataSource
을 사용하십시오. DataSource
인터페이스 계약에서 getInputStream()
을 호출 할 때마다 신선한 inputStream을 제공한다고 했으므로 큰 크기 나 문서를 위해 OOM을 던질 byte[]
데이터를 유지해야합니다.이를 피할 수있는 방법이 있습니까? 움 관해서는
MimeMessage msg = new MimeMessage(session);
byte[] bArr = doc.getBody();
ByteArrayInputStream ins = new ByteArrayInputStream(
bArr != null && bArr.length > 0 ? bArr : "".getBytes());
msg.setDataHandler(new DataHandler(new ByteArrayDataSource(ins, mimeType)));
첨부 파일을 메모리에 보관하는 데 문제가있는 경우 이메일 네트워크가 얼마나 잘 처리 할 것이라고 생각하십니까? – skaffman