[Mailman-Users] dmarc_moderation_action isn't working

Joel Uckelman uckelman at nomic.net
Thu May 29 16:15:46 CEST 2014


Thus spake Mark Sapiro:
> On 05/28/2014 10:28 PM, Stephen J. Turnbull wrote:
> > Mark Sapiro writes:
> > 
> >  > If there are no 'DMARC' entries in Mailman's logs, it most likely means
> >  > the imports I show above didn't succeed in the python that Mailman is
> >  > using, in which case dmarc_moderaction_action will not be done at all.
> > 
> > If dmarc_moderation_action is not none (precisely speaking, "accept",
> > I think?), and the dnspython import fails, Mailman should log this.
> > 
> 
> 
> Agreed.
> 
> <https://bugs.launchpad.net/mailman/+bug/1324541>

I added two lines to Util.py as a diagnostic:

--- /usr/lib/mailman/Mailman/Utils.py~  2014-05-29 15:51:38.739320749 +0200
+++ /usr/lib/mailman/Mailman/Utils.py 2014-05-29 15:59:18.713685775 +0200
@@ -1069,8 +1069,10 @@
 # This takes an email address, and returns True if DMARC policy is p=reject
 # or possibly quarantine.
 def IsDMARCProhibited(mlist, email):
+    syslog('error', 'in IsDMARCProhibited()')
     if not dns_resolver:
-         return False
+        syslog('error', 'dns_resolver == False')
+        return False
 
     email = email.lower()
     at_sign = email.find('@')

After sending a message to the list, what I see in /var/log/mailman/error
is:

  May 29 16:01:36 2014 (30524) in IsDMARCProhibited()

and nothing else.

So:

1) IsDMARCProhibited() is running for me.

2) dns_resolver was *not* false. It looks like this rules out an
ImportError in my case, since the only way dns_resolver can be set to
false is in the event of an ImportError (see line 79).

It's good to fix the bug you noted regardless, but something else is
failing silently for me.


-- 
J.


More information about the Mailman-Users mailing list