javamail을 사용하여 android에서 이메일을 가져오고 싶습니다. 하지만 몇 가지 문제가 발생했습니다.javamail 가져 오기 pop3 android
POP3에서 특정 메일의 내용을 가져 오려면 javamail이 첨부 파일을 포함한 모든 메일 내용을 다운로드합니다. 첨부 파일이 충분히 크면 안드로이드 프로그램이 예외를 throw합니다. 하지만 IMAP protocal에서 시도해 보았습니다. 콘텐츠의 뼈대를 처음으로 가져오고 일부 큰 첨부 파일이 있어도 제대로 작동합니다.
이메일에 큰 첨부 파일이있을 때 pop3 프로토콜을 사용하여 특정 이메일의 내용을 가져올 수 있습니까?
다음 코드는 imap에서는 잘 작동하지만 pop3에서는 작동하지 않습니다.
public void getContent(Part part) throws Exception {
String contentType = part.getContentType();
int nameindex = contentType.indexOf("name");
boolean conname = false;
if (nameindex != -1)
conname = true;
if (part.isMimeType("text/plain") && !conname) {
bodytext.append((String) part.getContent());
} else if (part.isMimeType("text/html") && !conname) {
String html = (String) part.getContent();
Spanned plainText = Html.fromHtml(html);
bodytext.append(plainText);
} else if (part.isMimeType("multipart/*")) {
Multipart multipart = (Multipart) part.getContent();
int counts = multipart.getCount();
for (int i = 0; i < counts; i++) {
BodyPart mpart = multipart.getBodyPart(i);
Log.d("type,"," "+ i+mpart.getContentType());
String disposition = mpart.getDisposition();
if ((disposition != null)
&& ((disposition.equals(Part.ATTACHMENT)) || (disposition
.equals(Part.INLINE))))
continue;
String contype = mpart.getContentType();
if(contype.toLowerCase().indexOf("application")!=-1||contype.toLowerCase().indexOf("name")!=-1)
continue;
getContent(multipart.getBodyPart(i));
}
} else if (part.isMimeType("message/rfc822")) {
getContent((Part) part.getContent());
}
}
Thx, 나에게 많은 도움이됩니다. :) –
굉장합니다. 상향 투표 및/또는 답변 수령을 고려하십시오. – Max