[Mailman-Developers] Probe messages should not sent Precedenceheader

Aamir Khan syst3m.w0rm at gmail.com
Sat Feb 18 11:14:23 CET 2012

On Sat, Feb 18, 2012 at 7:15 AM, Mark Sapiro <mark at msapiro.net> wrote:

> Aamir Khan wrote:
> >
> >As suggested by Barry, I am working on this new bug,
> >808821<https://bugs.launchpad.net/mailman/+bug/808821>.
> >As i browsed though the code of mailman, i found that
> >'src/mailman/bin/disabled.py'
> >is the script which runs to send the messages to all the email addresses
> >disabled may be because of over bouncing, by user himself, by admin, etc..
> >So, i just have to find out the way, so that bouncing mail won't set the
> >precedence header.
> >
> >
> >Am i on correct path ?
> I think you are at the start of a twisted path. I'm sorry, but I'm
> still not completely up to speed with mm3, but here's what I can tell
> you from 2.1.
> In 2.1, cron/disabled which I think is analogous to bin/disabled.py
> sends warnings, but it is not the only thing which does. Warnings are
> actually sent by the list method sendNextNotification() which is
> defined in 2.1 in Mailman/Bouncer.py. The sendNextNotification()
> method in turn uses the UserNotification() class defined in
> Mailman/Message.py to actually create and send the message.

> The UserNotification.send() method will add a "Precedence: bulk" header
> to any message which doesn't have any Precedence: header. Thus, there
> are two possible approaches. One approach is to add a noprecedence
> argument to the send() method with default = False, and in the method
> itself skip adding the Precedence: bulk header if noprecedence is
> true, and add a noprecedence=True argument to the call to the send()
> method in sendNextNotification().
I guess in MM3, there is no function as sendNextNotification(), because i
used command, "grep sendNextNotification() -r *" and the result was only
file 'src/mailman/bin/disabled.py'.

There is a file 'src/mailman/email/messages.py', in which
UserNotification() class is defined. It has a send function, which sets the
precedence header.

In file 'src/mailman/app/bouces.py', I guess the probe messages are sent
directly using send() function of UserNotification() class. I think that
from line 211 to 228, probe message is used to send VERP probe. But then, i
am not able to find out the place from where probe message is sent after
disabling of the address because of over bouncing.

I have tried to make some changes to code and pushed it to my local branch
[1]. Ran through all the tests, and none of them failed. Is there any way
to run through a subset of test rather than running them using 'bin/test'

Comments, feedback required on patch.

[1] =>

Aamir Khan | 3rd Year  | Computer Science & Engineering | IIT Roorkee

More information about the Mailman-Developers mailing list