Use latest received header in JMAP Email/import - credits to @apexskier (closes #2374)
This commit is contained in:
@@ -437,12 +437,9 @@ impl EmailIngest for Server {
|
|||||||
|
|
||||||
is_spam
|
is_spam
|
||||||
}
|
}
|
||||||
IngestSource::Jmap {
|
IngestSource::Jmap { train_classifier } | IngestSource::Imap { train_classifier } => {
|
||||||
train_classifier: true,
|
// Determine spam training
|
||||||
}
|
if train_classifier && self.core.spam.enabled {
|
||||||
| IngestSource::Imap {
|
|
||||||
train_classifier: true,
|
|
||||||
} if self.core.spam.enabled => {
|
|
||||||
if params.keywords.contains(&Keyword::Junk) {
|
if params.keywords.contains(&Keyword::Junk) {
|
||||||
train_spam = Some(true);
|
train_spam = Some(true);
|
||||||
} else if params.keywords.contains(&Keyword::NotJunk) {
|
} else if params.keywords.contains(&Keyword::NotJunk) {
|
||||||
@@ -454,6 +451,26 @@ impl EmailIngest for Server {
|
|||||||
} else if params.mailbox_ids[0] == INBOX_ID {
|
} else if params.mailbox_ids[0] == INBOX_ID {
|
||||||
train_spam = Some(false);
|
train_spam = Some(false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set receivedAt if not present
|
||||||
|
if params.received_at.is_none() {
|
||||||
|
params.received_at = message
|
||||||
|
.root_part()
|
||||||
|
.headers()
|
||||||
|
.iter()
|
||||||
|
.filter_map(|header| {
|
||||||
|
if let (HeaderName::Received, HeaderValue::Received(received)) =
|
||||||
|
(&header.name, &header.value)
|
||||||
|
{
|
||||||
|
received.date.map(|dt| dt.to_timestamp() as u64)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.max();
|
||||||
|
}
|
||||||
|
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
_ => false,
|
_ => false,
|
||||||
|
|||||||
Reference in New Issue
Block a user