mirror of https://github.com/M66B/FairEmail.git
parent
af28f983cd
commit
03c944122f
@ -1,64 +0,0 @@
|
||||
package eu.faircode.email;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import javax.mail.MessagingException;
|
||||
import javax.mail.Session;
|
||||
import javax.mail.internet.MimeMessage;
|
||||
|
||||
public class MimeMessageEx extends MimeMessage {
|
||||
private long id = -1;
|
||||
|
||||
public MimeMessageEx(Session session, long id) {
|
||||
super(session);
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateMessageID() throws MessagingException {
|
||||
try {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append('<')
|
||||
.append(id).append('.')
|
||||
.append(BuildConfig.APPLICATION_ID).append('.')
|
||||
.append(System.currentTimeMillis()).append('.')
|
||||
.append("anonymous@localhost")
|
||||
.append('>');
|
||||
|
||||
setHeader("Message-ID", sb.toString());
|
||||
Log.v(Helper.TAG, "Override Message-ID=" + sb.toString());
|
||||
} catch (Throwable ex) {
|
||||
Log.e(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex));
|
||||
super.updateMessageID();
|
||||
}
|
||||
}
|
||||
|
||||
public static long getId(MimeMessage message) {
|
||||
try {
|
||||
String msgid = message.getMessageID();
|
||||
if (msgid == null)
|
||||
return -1;
|
||||
|
||||
List<String> parts = new ArrayList<>(Arrays.asList(msgid.split("\\.")));
|
||||
if (parts.size() < 1)
|
||||
return -1;
|
||||
|
||||
String part = parts.get(0);
|
||||
parts.remove(0);
|
||||
if (!TextUtils.join(".", parts).startsWith(BuildConfig.APPLICATION_ID))
|
||||
return -1;
|
||||
|
||||
long id = Long.parseLong(part.substring(1));
|
||||
Log.v(Helper.TAG, "Parsed Message-ID=" + msgid + " id=" + id);
|
||||
return id;
|
||||
} catch (Throwable ex) {
|
||||
Log.e(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue