mirror of
https://github.com/mjl-/mox.git
synced 2025-07-12 22:54:38 +03:00
add "Fail" transport, that immediately fails delivery
allows configs that prevent outgoing deliveries (globally, per domain, or per account) from/to certain domains. for issue #347
This commit is contained in:
@ -1528,6 +1528,18 @@ func deliver(log mlog.Log, resolver dns.Resolver, m0 Msg) {
|
||||
qlog.Debug("delivering to single recipient", slog.Any("msgid", m0.ID), slog.Any("recipient", m0.Recipient()))
|
||||
}
|
||||
|
||||
// Test for "Fail" transport before Localserve.
|
||||
if transport.Fail != nil {
|
||||
err := smtpclient.Error{
|
||||
Permanent: transport.Fail.Code/100 == 5,
|
||||
Code: transport.Fail.Code,
|
||||
Secode: smtp.SePol7Other0,
|
||||
Err: fmt.Errorf("%s", transport.Fail.Message),
|
||||
}
|
||||
failMsgsDB(qlog, msgs, msgs[0].DialedIPs, backoff, dsn.NameIP{}, err)
|
||||
return
|
||||
}
|
||||
|
||||
if Localserve {
|
||||
deliverLocalserve(ctx, qlog, msgs, backoff)
|
||||
return
|
||||
|
Reference in New Issue
Block a user