MCPcopy Create free account
hub / github.com/M66B/FairEmail / MessageHelper

Class MessageHelper

app/src/main/java/eu/faircode/email/MessageHelper.java:170–6482  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

168import ezvcard.property.Email;
169
170public class MessageHelper {
171 private boolean ensuredEnvelope = false;
172 private boolean ensuredHeaders = false;
173 private boolean ensuredStructure = false;
174 private MimeMessage imessage;
175 private String hash = null;
176 private String threadId = null;
177 private InternetHeaders reportHeaders = null;
178
179 static final int SMALL_MESSAGE_SIZE = 192 * 1024; // bytes
180 static final int DEFAULT_DOWNLOAD_SIZE = 4 * 1024 * 1024; // bytes
181 static final String HEADER_CORRELATION_ID = "X-Correlation-ID";
182 static final String HEADER_MICROSOFT_ORIGINAL_MESSAGE_ID = "X-Microsoft-Original-Message-ID";
183 static final String HEADER_GOOGLE_ORIGINAL_MESSAGE_ID = "X-Google-Original-Message-ID";
184 static final String HEADER_MODIFIED_TIME = "X-Modified-Time";
185 static final int MAX_SUBJECT_AGE = 48; // hours
186 static final int DEFAULT_THREAD_RANGE = 7; // 2^7 = 128 days
187 static final int MAX_UNZIP_COUNT = 20;
188 static final long MAX_UNZIP_SIZE = 10 * 1024 * 1024L;
189 static final String ONE_CLICK_UNSUBSCRIBE = "oneclick:";
190
191 static final List<String> UNZIP_FORMATS = Collections.unmodifiableList(Arrays.asList(
192 "zip", "gz", "tar.gz"
193 ));
194
195 static final List<String> RECEIVED_WORDS = Collections.unmodifiableList(Arrays.asList(
196 "from", "by", "via", "with", "id", "for"
197 ));
198
199 private static final int MAX_HEADER_LENGTH = 998;
200 private static final int MAX_MESSAGE_SIZE = 10 * 1024 * 1024; // bytes
201 private static final int MAX_KEYWORDS = 32;
202 private static final int MAX_LABELS = 32;
203 private static final long ATTACHMENT_PROGRESS_UPDATE = 1500L; // milliseconds
204 private static final int MAX_META_EXCERPT = 1024; // characters
205 private static final int FORMAT_FLOWED_LINE_LENGTH = 72; // characters
206 private static final int MAX_DIAGNOSTIC = 250; // characters
207 private static final int DKIM_MIN_KEY_LENGTH = 1024; // bits
208
209 private static final String DKIM_SIGNATURE = "DKIM-Signature";
210 private static final String GOOGLE_DKIM_SIGNATURE = "X-Google-DKIM-Signature";
211 private static final String ARC_SEAL = "ARC-Seal";
212 private static final String AUTHENTICATION_RESULTS = "Authentication-Results";
213 private static final String ANON_AUTHENTICATION_RESULTS = "X-AnonAddy-Authentication-Results";
214 private static final String ARC_AUTHENTICATION_RESULTS = "ARC-Authentication-Results";
215 private static final String ARC_MESSAGE_SIGNATURE = "ARC-Message-Signature";
216
217 static final List<String> ARC_WHITELIST_DEFAULT = Collections.unmodifiableList(Arrays.asList(
218 "google.com", "microsoft.com", "amazonses.com"
219 ));
220
221 private static final String DOCTYPE = "<!DOCTYPE";
222 private static final String HTML_START = "<html>";
223 private static final String HTML_END = "</html>";
224 private static final String SMTP_MAILFORM = "smtp.mailfrom";
225
226 private static final List<Charset> CHARSET16 = Collections.unmodifiableList(Arrays.asList(
227 StandardCharsets.UTF_16,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected