While using this command : ./bin/mailman inject abc@xyz.com -f tempfile -q lmtp
I got to know that in /mailman/commands/inject.py , config.switchboards[lmtp].enqueue(msg, **msgdata) is being called, which in turn starts executing /mailman/app/config.py file.
mailman.cfg tell config.py that lmtp runner is in mailman/runners/lmptp.py [runner.lmtp] class: mailman.runners.lmtp.LMTPRunner
Hence at some point , lmtp.py __init__(self, slice=None, numslices=1): should be called.
But i tried putting print("12345") inside __init__() but nothing got printed on the terminal. This may mean lmtp.py is not being executed, but still the following shows a new message in the lmtp queue.
from mailman.testing.helpers import get_queue_messages items = get_queue_messages('lmtp') len(items)
So if lmtp.py is not executed, which file is being executed for injecting message int lmtp runner , if not lmtp.py ?