Key/value store access from Sieve scripts

This commit is contained in:
mdecimus
2023-12-12 15:28:21 +01:00
parent 78f932990d
commit 4301ec16d0
46 changed files with 1087 additions and 592 deletions

View File

@@ -57,8 +57,8 @@ impl SMTP {
.filter(params.message.as_deref().map_or(b"", |m| &m[..]))
.with_vars_env(params.variables)
.with_envelope_list(params.envelope)
.with_user_address(&self.sieve.config.from_addr)
.with_user_full_name(&self.sieve.config.from_name);
.with_user_address(&self.sieve.from_addr)
.with_user_full_name(&self.sieve.from_name);
let mut input = Input::script("__script", script);
let mut messages: Vec<Vec<u8>> = Vec::new();
@@ -147,10 +147,10 @@ impl SMTP {
message_id,
} => {
// Build message
let return_path_lcase = self.sieve.config.return_path.to_lowercase();
let return_path_lcase = self.sieve.return_path.to_lowercase();
let return_path_domain = return_path_lcase.domain_part().to_string();
let mut message = Message::new_boxed(
self.sieve.config.return_path.clone(),
self.sieve.return_path.clone(),
return_path_lcase,
return_path_domain,
);
@@ -278,9 +278,9 @@ impl SMTP {
instance.message().raw_message().into()
};
if let Some(raw_message) = raw_message {
let headers = if !self.sieve.config.sign.is_empty() {
let headers = if !self.sieve.sign.is_empty() {
let mut headers = Vec::new();
for dkim in &self.sieve.config.sign {
for dkim in &self.sieve.sign {
match dkim.sign(raw_message) {
Ok(signature) => {
signature.write_header(&mut headers);