Add optional inbound relay (backup-MX) behind INBOUND_RELAY_ENABLE.
test / test (push) Waiting to run
test / test (push) Waiting to run
Port 25 accepts only configured domains and listed recipients, then forwards to an upstream; the outbound path is unchanged when the flag is off. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -374,3 +374,37 @@ func TestReportAuth(t *testing.T) {
|
||||
t.Errorf("advice %q should cite %q", got.Detail, ReportAuthExample())
|
||||
}
|
||||
}
|
||||
|
||||
func TestInboundMXPointsAtServer(t *testing.T) {
|
||||
f := &fakeResolver{
|
||||
mx: map[string][]*net.MX{
|
||||
"lists.example.com": {
|
||||
{Host: "mail.primary.example.net.", Pref: 10},
|
||||
{Host: "mail.example.org.", Pref: 20},
|
||||
},
|
||||
},
|
||||
}
|
||||
got := newTestChecker(f).InboundMX("lists.example.com", "mail.example.org", false)
|
||||
if got.Status != health.StatusOK {
|
||||
t.Fatalf("status = %q (%s)", got.Status, got.Detail)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInboundMXMissingThisServer(t *testing.T) {
|
||||
f := &fakeResolver{
|
||||
mx: map[string][]*net.MX{
|
||||
"backup.example.net": {{Host: "mail.primary.example.net.", Pref: 10}},
|
||||
},
|
||||
}
|
||||
got := newTestChecker(f).InboundMX("backup.example.net", "mail.example.org", false)
|
||||
if got.Status != health.StatusError {
|
||||
t.Fatalf("status = %q, want error", got.Status)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInboundMXAbsent(t *testing.T) {
|
||||
got := newTestChecker(&fakeResolver{}).InboundMX("none.example", "mail.example.org", false)
|
||||
if got.Status != health.StatusError {
|
||||
t.Fatalf("status = %q, want error", got.Status)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user