Thanks for the quick reply.
I'm running into this now.
org.apache.commons.codec.DecoderException: Invalid URL encoding: not a
valid digit (radix 16): 117
from the following code:
BufferedReader reader = (BufferedReader) pop3.retrieveMessage(msginfo.number);
String line = "";
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null) {
String lower = line.toLowerCase(Locale.ENGLISH);
sb.append(lower);
}
String msg=sb.toString();
byte[] bits;
try {
bits =
org.apache.commons.codec.net.QuotedPrintableCodec.decodeQuotedPrintable(msg.getBytes("UTF8"));
msg = new String(bits, "UTF8");
} catch (Exception ex){//throw from here }
Any suggestions?
On Mon, Feb 3, 2014 at 11:51 AM, Thomas Neidhart
<[email protected]> wrote:
> On 02/03/2014 05:48 PM, Alex O'Ree wrote:
>> I'm sending an email to a local mail server (hmail) using the standard
>> javax.mail api. Here's a snippit
>>
>> MimeMessage message = new MimeMessage(session);
>> InternetAddress address = new InternetAddress("[email protected]");
>> Address[] to = {address};
>> message.setRecipients(RecipientType.TO, to);
>> message.setFrom("[email protected]");
>> String subscriptionResultXML = ""; //some raw xml goes here
>> message.setContent(subscriptionResultXML, "text/xml; charset=UTF-8;");
>> message.setSubject("subject");
>> Transport.send(message);
>>
>> When it sends, it appears to chop up the xml into roughly 80 chars,
>> adding a =\n (line break). The message is also flagged with
>> "quoted-printable" encoding with the following headers:
>> MIME-Version: 1.0
>> Content-Type: text/xml; charset=UTF-8;
>> Content-Transfer-Encoding: quoted-printable
>>
>> On the receiving side, I'm using the commons POP3 Client and I've been
>> struggling with how to decode the text. Basically, I need to remove
>> the =\n line breaks and end up with just the XML. I've tried using
>> javax.mail.internet.MimeUtility.decode....
>> BufferedReader reader = (BufferedReader)
>> pop3.retrieveMessage(msginfo.number);
>> String line = "";
>> StringBuilder sb = new StringBuilder();
>> while ((line = reader.readLine()) != null) {
>> String lower = line.toLowerCase(Locale.ENGLISH);
>> sb.append(lower);
>> }
>>
>> String msg=sb.toString();
>> InputStream is = new ByteArrayInputStream(msg.getBytes("UTF8"));
>> InputStream decode = javax.mail.internet.MimeUtility.decode(is,
>> "quoted-printable");
>> StringWriter writer = new StringWriter();
>> IOUtils.copy(decode, writer, "UTF8");
>> msg = writer.toString();
>>
>> However, I still end up with a string that includes the line encoding.
>> Interestingly enough, outlook seems to decode it just fine and renders
>> the xml as an attachment which is valid XML. Any ideas?
>
> you may take a look at commons-codec which contains an encoder/decoder
> for the quoted printable encoding:
>
> http://commons.apache.org/proper/commons-codec/archives/1.9/apidocs/org/apache/commons/codec/net/QuotedPrintableCodec.html
>
> Thomas
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]