-
-
Couldn't load subscription status.
- Fork 533
Open
Labels
bugSomething isn't workingSomething isn't working
Description
What happened?
This condition:
stalwart/crates/smtp/src/inbound/rcpt.rs
Lines 105 to 114 in 8cee757
| if rcpt_script.is_some() | |
| || !self.server.core.smtp.session.rcpt.rewrite.is_empty() | |
| || self | |
| .server | |
| .core | |
| .smtp | |
| .session | |
| .milters | |
| .iter() | |
| .any(|m| m.run_on_stage.contains(&Stage::Rcpt)) |
Means that this doesn't run if you haven't configured a sieve script, milter or rewrite:
stalwart/crates/smtp/src/inbound/rcpt.rs
Lines 151 to 155 in 8cee757
| // MTAHook filtering | |
| if let Err(message) = self.run_mta_hooks(Stage::Rcpt, None, None).await { | |
| self.data.rcpt_to.pop(); | |
| return self.write(message.message.as_bytes()).await; | |
| } |
Temporary workaround is to just create a noop sieve.
[session.rcpt]
relay = true
script = "'test'"
[sieve.trusted.scripts.test]
contents = ""How can we reproduce the problem?
I can reproduce the problem by doing the following steps:
- Setup MTA hook
- Make sure you haven't configured a sieve script, milter or rewrite
- Send an email
- Observe that the RCPT stage hook is never called
Version
v0.14.x
What database are you using?
None
What blob storage are you using?
None
Where is your directory located?
None
What operating system are you using?
Linux
Relevant log output
Code of Conduct
- I agree to follow this project's Code of Conduct
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working