add_header if LDAP-Domain with broken SPF-record

This commit is contained in:
Dominik Chilla 2020-07-20 16:54:32 +02:00
parent 799e739df4
commit 6656e7b81a
3 changed files with 15 additions and 14 deletions

4
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"python.linting.pylintEnabled": true,
"python.linting.enabled": true
}

View File

@ -189,17 +189,8 @@ class SOSMilter(Milter.Base):
logging.info(self.mconn_id + '/' + self.queue_id + "/EOM " +
"5321_from_domain={0} (LDAP) has a broken SPF-record!".format(self.env_from_domain)
)
ex = str(
"SPF-record (-all) of 5321_from_domain="
+ self.env_from_domain + " does not permit us to relay this message!"
)
if g_milter_mode == 'test':
logging.info(self.mconn_id + '/' + self.queue_id + "/EOM " + ex)
try:
self.addheader(
'X-SOS-Milter',
self.mconn_id + ' ' + self.env_from_domain + ': failed SPF-expectation'
)
self.addheader('X-SOS-Milter', 'failed SPF-expectation')
logging.debug(self.mconn_id + '/' + self.queue_id + "/EOM " +
'test-mode: X-SOS-Milter header was added. '
)
@ -207,8 +198,14 @@ class SOSMilter(Milter.Base):
logging.error(self.mconn_id + '/' + self.queue_id + "/EOM " +
"addheader() failed: " + traceback.format_exc()
)
else:
logging.warning(self.mconn_id + '/' + self.queue_id + "/EOM " + ex)
ex = str(
" SPF-record (-all) of 5321_from_domain="
+ self.env_from_domain + " does not permit us to relay this message!"
)
logging.info(self.mconn_id + '/' + self.queue_id + "/EOM " +
"mode=" + g_milter_mode + ' ' + ex
)
if g_milter_mode == 'reject':
self.setreply('550','5.7.1',
self.mconn_id + ' ' + ex + ' ' + g_milter_reject_message
)

View File

@ -11,7 +11,7 @@ mt.set_timeout(3)
-- 5321.FROM + MACROS
mt.macro(conn, SMFIC_MAIL, "i", "test-id",'{rcpt_host}', "test.next-hostx")
if mt.mailfrom(conn, "dominik@zwackl.def") ~= nil then
if mt.mailfrom(conn, "dominik@dc-it-con.de") ~= nil then
error "mt.mailfrom() failed"
end
if mt.getreply(conn) ~= SMFIR_CONTINUE then
@ -40,7 +40,7 @@ end
if not mt.eom_check(conn, MT_HDRADD, "X-SOS-Milter") then
mt.echo("no header added")
else
mt.echo("X-SOS-Milter header added -> test-mode")
mt.echo("X-SOS-Milter header added -> LDAP-Domain with broken SPF")
end
-- DISCONNECT