| 168 | import ezvcard.property.Email; |
| 169 | |
| 170 | public 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, |
nothing calls this directly
no outgoing calls
no test coverage detected