diff --git a/.classpath b/.classpath
index 7c3f645a0..67157cd28 100644
--- a/.classpath
+++ b/.classpath
@@ -3,12 +3,12 @@
-
-
+
+
diff --git a/libs/apache-mime4j-core-0.7-SNAPSHOT.jar b/libs/apache-mime4j-core-0.7-SNAPSHOT.jar
deleted file mode 100644
index 540a6c5e7..000000000
Binary files a/libs/apache-mime4j-core-0.7-SNAPSHOT.jar and /dev/null differ
diff --git a/libs/apache-mime4j-core-0.7.2.jar b/libs/apache-mime4j-core-0.7.2.jar
new file mode 100644
index 000000000..b5c225b5d
Binary files /dev/null and b/libs/apache-mime4j-core-0.7.2.jar differ
diff --git a/libs/apache-mime4j-dom-0.7-SNAPSHOT.jar b/libs/apache-mime4j-dom-0.7-SNAPSHOT.jar
deleted file mode 100644
index 620421e6f..000000000
Binary files a/libs/apache-mime4j-dom-0.7-SNAPSHOT.jar and /dev/null differ
diff --git a/libs/apache-mime4j-dom-0.7.2.jar b/libs/apache-mime4j-dom-0.7.2.jar
new file mode 100644
index 000000000..0cdd3ce33
Binary files /dev/null and b/libs/apache-mime4j-dom-0.7.2.jar differ
diff --git a/src/com/fsck/k9/mail/Address.java b/src/com/fsck/k9/mail/Address.java
index 50dd91a5d..f988a656f 100644
--- a/src/com/fsck/k9/mail/Address.java
+++ b/src/com/fsck/k9/mail/Address.java
@@ -1,6 +1,15 @@
package com.fsck.k9.mail;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.james.mime4j.MimeException;
+import org.apache.james.mime4j.codec.EncoderUtil;
+import org.apache.james.mime4j.dom.address.Mailbox;
+import org.apache.james.mime4j.dom.address.MailboxList;
+import org.apache.james.mime4j.field.address.AddressBuilder;
+
import android.text.Spannable;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
@@ -11,16 +20,8 @@ import android.util.Log;
import com.fsck.k9.K9;
import com.fsck.k9.helper.Contacts;
-import com.fsck.k9.helper.Utility;
import com.fsck.k9.helper.StringUtils;
-import org.apache.james.mime4j.codec.EncoderUtil;
-import org.apache.james.mime4j.dom.address.Mailbox;
-import org.apache.james.mime4j.dom.address.MailboxList;
-import org.apache.james.mime4j.field.address.parser.AddressBuilder;
-import org.apache.james.mime4j.MimeException;
-
-import java.util.ArrayList;
-import java.util.List;
+import com.fsck.k9.helper.Utility;
public class Address {
@@ -137,7 +138,8 @@ public class Address {
}
List
addresses = new ArrayList();
try {
- MailboxList parsedList = AddressBuilder.parseAddressList(addressList).flatten();
+ MailboxList parsedList = AddressBuilder.DEFAULT.parseAddressList(addressList).flatten();
+
for (int i = 0, count = parsedList.size(); i < count; i++) {
org.apache.james.mime4j.dom.address.Address address = parsedList.get(i);
if (address instanceof Mailbox) {
@@ -145,13 +147,13 @@ public class Address {
addresses.add(new Address(mailbox.getLocalPart() + "@" + mailbox.getDomain(), mailbox.getName(), false));
} else {
Log.e(K9.LOG_TAG, "Unknown address type from Mime4J: "
- + address.getClass().toString());
+ + address.getClass().toString());
}
}
} catch (MimeException pe) {
Log.e(K9.LOG_TAG, "MimeException in Address.parse()", pe);
//but we do an silent failover : we just use the given string as name with empty address
- addresses.add(new Address(null, addressList,false));
+ addresses.add(new Address(null, addressList, false));
}
return addresses.toArray(EMPTY_ADDRESS_ARRAY);
}
diff --git a/src/com/fsck/k9/mail/internet/MimeMessage.java b/src/com/fsck/k9/mail/internet/MimeMessage.java
index 0ac949524..d61d85f00 100644
--- a/src/com/fsck/k9/mail/internet/MimeMessage.java
+++ b/src/com/fsck/k9/mail/internet/MimeMessage.java
@@ -1,24 +1,38 @@
package com.fsck.k9.mail.internet;
-import com.fsck.k9.mail.*;
-import com.fsck.k9.mail.store.UnavailableStorageException;
-
-import org.apache.james.mime4j.stream.BodyDescriptor;
-import org.apache.james.mime4j.stream.RawField;
-import org.apache.james.mime4j.parser.ContentHandler;
-import org.apache.james.mime4j.io.EOLConvertingInputStream;
-import org.apache.james.mime4j.parser.MimeStreamParser;
-import org.apache.james.mime4j.stream.MimeEntityConfig;
-import org.apache.james.mime4j.dom.field.DateTimeField;
-import org.apache.james.mime4j.dom.field.Field;
-import org.apache.james.mime4j.field.DefaultFieldParser;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.Locale;
+import java.util.Set;
+import java.util.UUID;
import org.apache.james.mime4j.MimeException;
+import org.apache.james.mime4j.dom.field.DateTimeField;
+import org.apache.james.mime4j.dom.field.ParsedField;
+import org.apache.james.mime4j.field.DefaultFieldParser;
+import org.apache.james.mime4j.io.EOLConvertingInputStream;
+import org.apache.james.mime4j.parser.ContentHandler;
+import org.apache.james.mime4j.parser.MimeStreamParser;
+import org.apache.james.mime4j.stream.BodyDescriptor;
+import org.apache.james.mime4j.stream.Field;
+import org.apache.james.mime4j.stream.MimeConfig;
+import org.apache.james.mime4j.stream.RawField;
-import java.io.*;
-import java.text.SimpleDateFormat;
-import java.util.*;
+import com.fsck.k9.mail.Address;
+import com.fsck.k9.mail.Body;
+import com.fsck.k9.mail.BodyPart;
+import com.fsck.k9.mail.Message;
+import com.fsck.k9.mail.MessagingException;
+import com.fsck.k9.mail.Multipart;
+import com.fsck.k9.mail.Part;
+import com.fsck.k9.mail.store.UnavailableStorageException;
/**
* An implementation of Message that stores all of it's metadata in RFC 822 and
@@ -73,7 +87,7 @@ public class MimeMessage extends Message {
mBody = null;
- MimeEntityConfig parserConfig = new MimeEntityConfig();
+ MimeConfig parserConfig = new MimeConfig();
parserConfig.setMaxHeaderLen(-1); // The default is a mere 10k
parserConfig.setMaxLineLen(-1); // The default is 1000 characters. Some MUAs generate
// REALLY long References: headers
@@ -458,27 +472,8 @@ public class MimeMessage extends Message {
expect(Part.class);
}
- public void field(RawField field) {
- expect(Part.class);
- try {
- Field parsedField = DefaultFieldParser.parse(field.getRaw(), null);
- ((Part)stack.peek()).addHeader(parsedField.getName(), parsedField.getBody().trim());
- } catch (MessagingException me) {
- throw new Error(me);
- } catch (MimeException me) {
- throw new Error(me);
- }
- }
- public void field(String fieldData) {
- expect(Part.class);
- try {
- String[] tokens = fieldData.split(":", 2);
- ((Part)stack.peek()).addHeader(tokens[0], tokens[1].trim());
- } catch (MessagingException me) {
- throw new Error(me);
- }
- }
+
public void endHeader() {
expect(Part.class);
@@ -552,6 +547,16 @@ public class MimeMessage extends Message {
public void raw(InputStream is) throws IOException {
throw new UnsupportedOperationException("Not supported");
}
+
+ @Override
+ public void field(Field parsedField) throws MimeException {
+ expect(Part.class);
+ try {
+ ((Part)stack.peek()).addHeader(parsedField.getName(), parsedField.getBody().trim());
+ } catch (MessagingException me) {
+ throw new Error(me);
+ }
+ }
}
/**