Spam filter performance and accuracy improvements (part 7)
This commit is contained in:
@@ -10,6 +10,7 @@ use crate::{
|
||||
use common::{Server, auth::AccessToken};
|
||||
use email::{
|
||||
cache::{MessageCacheFetch, mailbox::MailboxCacheAccess},
|
||||
mailbox::JUNK_ID,
|
||||
message::ingest::{EmailIngest, IngestEmail, IngestSource},
|
||||
};
|
||||
use http_proto::HttpSessionData;
|
||||
@@ -22,7 +23,7 @@ use jmap_proto::{
|
||||
};
|
||||
use mail_parser::MessageParser;
|
||||
use std::future::Future;
|
||||
use types::{acl::Acl, id::Id};
|
||||
use types::{acl::Acl, id::Id, keyword::Keyword};
|
||||
use utils::map::vec_map::VecMap;
|
||||
|
||||
pub trait EmailImport: Sync + Send {
|
||||
@@ -149,12 +150,16 @@ impl EmailImport for Server {
|
||||
message: MessageParser::new().parse(&raw_message),
|
||||
blob_hash: Some(&blob_id.hash),
|
||||
access_token: import_access_token.as_deref().unwrap_or(access_token),
|
||||
source: IngestSource::Jmap {
|
||||
train_classifier: email
|
||||
.keywords
|
||||
.iter()
|
||||
.any(|k| matches!(k, Keyword::Junk | Keyword::NotJunk))
|
||||
|| mailbox_ids.contains(&JUNK_ID),
|
||||
},
|
||||
mailbox_ids,
|
||||
keywords: email.keywords,
|
||||
received_at: email.received_at.map(|r| r.into()),
|
||||
source: IngestSource::Jmap {
|
||||
train_classifier: true,
|
||||
},
|
||||
session_id: session.session_id,
|
||||
})
|
||||
.await
|
||||
|
||||
Reference in New Issue
Block a user