FairEmail/app/src/main/java/eu/faircode/email/MimeMessageEx.java

69 lines
2.0 KiB
Java
Raw Normal View History

package eu.faircode.email;
/*
2018-08-14 05:53:24 +00:00
This file is part of FairEmail.
2018-08-14 05:53:24 +00:00
FairEmail is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
2018-10-29 10:46:49 +00:00
FairEmail is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
2018-10-29 10:46:49 +00:00
along with FairEmail. If not, see <http://www.gnu.org/licenses/>.
2018-12-31 08:04:33 +00:00
Copyright 2018-2019 by Marcel Bokhorst (M66B)
*/
2019-09-29 09:43:00 +00:00
import java.io.InputStream;
import javax.mail.Flags;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
public class MimeMessageEx extends MimeMessage {
private String msgid;
2019-09-29 09:43:00 +00:00
private MimeMessage original;
2018-12-09 14:49:43 +00:00
MimeMessageEx(Session session, String msgid) {
super(session);
this.msgid = msgid;
}
2019-09-29 09:43:00 +00:00
MimeMessageEx(Session session, InputStream is, MimeMessage original) throws MessagingException {
super(session, is);
this.original = original;
}
2019-02-17 13:48:23 +00:00
@Override
public String getMessageID() throws MessagingException {
if (this.msgid == null)
return super.getMessageID();
else
return this.msgid;
}
@Override
protected void updateMessageID() throws MessagingException {
if (this.msgid == null)
super.updateMessageID();
else {
setHeader("Message-ID", msgid);
2018-12-24 12:27:45 +00:00
Log.i("Override Message-ID=" + msgid);
}
}
2019-09-29 09:43:00 +00:00
@Override
public synchronized boolean isSet(Flags.Flag flag) throws MessagingException {
if (original == null)
return super.isSet(flag);
else
return original.isSet(flag);
}
}