|
|
|
@ -112,6 +112,11 @@ public class MessageHelper {
|
|
|
|
|
props.put("mail.mime.address.strict", "false");
|
|
|
|
|
props.put("mail.mime.decodetext.strict", "false");
|
|
|
|
|
|
|
|
|
|
props.put("mail.mime.ignoreunknownencoding", "true");
|
|
|
|
|
props.put("mail.mime.decodefilename", "true");
|
|
|
|
|
props.put("mail.mime.encodefilename", "true");
|
|
|
|
|
props.put("mail.mime.multipart.ignoreexistingboundaryparameter", "true");
|
|
|
|
|
|
|
|
|
|
// https://javaee.github.io/javamail/OAuth2
|
|
|
|
|
Log.i(Helper.TAG, "Auth type=" + auth_type);
|
|
|
|
|
if (auth_type == Helper.AUTH_TYPE_GMAIL) {
|
|
|
|
@ -278,21 +283,20 @@ public class MessageHelper {
|
|
|
|
|
private String getHtml(Part part) throws MessagingException, UnsupportedEncodingException {
|
|
|
|
|
if (part.isMimeType("text/*"))
|
|
|
|
|
try {
|
|
|
|
|
String s;
|
|
|
|
|
if ("x-binaryenc".equals(part.getContentType())) {
|
|
|
|
|
InputStream is = part.getInputStream();
|
|
|
|
|
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
|
|
|
|
byte[] buffer = new byte[4096];
|
|
|
|
|
for (int len = is.read(buffer); len != -1; len = is.read(buffer))
|
|
|
|
|
os.write(buffer, 0, len);
|
|
|
|
|
s = new String(os.toByteArray(), "US-ASCII");
|
|
|
|
|
} else
|
|
|
|
|
s = part.getContent().toString();
|
|
|
|
|
String s = part.getContent().toString();
|
|
|
|
|
if (part.isMimeType("text/plain"))
|
|
|
|
|
s = "<pre>" + s.replaceAll("\\r?\\n", "<br />") + "</pre>";
|
|
|
|
|
return s;
|
|
|
|
|
} catch (UnsupportedEncodingException ex) {
|
|
|
|
|
// https://javaee.github.io/javamail/FAQ#unsupen
|
|
|
|
|
//if ("x-binaryenc".equals(part.getContentType())) {
|
|
|
|
|
// InputStream is = part.getInputStream();
|
|
|
|
|
// ByteArrayOutputStream os = new ByteArrayOutputStream();
|
|
|
|
|
// byte[] buffer = new byte[4096];
|
|
|
|
|
// for (int len = is.read(buffer); len != -1; len = is.read(buffer))
|
|
|
|
|
// os.write(buffer, 0, len);
|
|
|
|
|
// s = new String(os.toByteArray(), "US-ASCII");
|
|
|
|
|
//}
|
|
|
|
|
throw new UnsupportedEncodingException(part.getContentType());
|
|
|
|
|
|
|
|
|
|
} catch (IOException ex) {
|
|
|
|
|