commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex O'Ree" <spyhunte...@gmail.com>
Subject Re: [net] decoding quoted-printable?
Date Mon, 03 Feb 2014 18:16:42 GMT
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
<thomas.neidhart@gmail.com> 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("receiver@local.domain");
>> Address[] to = {address};
>> message.setRecipients(RecipientType.TO, to);
>> message.setFrom("sender@local.domain");
>> 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: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message