public void setHeaders(final Message message,
final Map<String, String> msgMap,
final DataType dataType,
final String address,
final @NonNull PersonRecord contact,
final Date sentDate,
final int status) throws MessagingException {
message.setHeader(Headers.REFERENCES, String.format(REFERENCE_UID_TEMPLATE, reference, contact.getId()));
message.setHeader(Headers.MESSAGE_ID, createMessageId(sentDate, address, status));
message.setHeader(Headers.ADDRESS, sanitize(address));
message.setHeader(Headers.DATATYPE, dataType.toString());
message.setHeader(Headers.BACKUP_TIME, toGMTString(new Date()));
message.setHeader(Headers.VERSION, version);
message.setSentDate(sentDate, false);
message.setInternalDate(sentDate);
switch (dataType) {
case SMS: setSmsHeaders(message, msgMap); break;
case MMS: setMmsHeaders(message, msgMap); break;
case CALLLOG: setCallLogHeaders(message, msgMap); break;
}
}