<div dir="ltr"><div dir="ltr">sendmail compatibility interface is not an option, see <a href="https://github.com/MailScanner/v5/blob/3fce3ff80180b71520bcd03dfb2cb1a53369603c/common/usr/share/MailScanner/perl/MailScanner/MSMail.pm#L935">https://github.com/MailScanner/v5/blob/3fce3ff80180b71520bcd03dfb2cb1a53369603c/common/usr/share/MailScanner/perl/MailScanner/MSMail.pm#L935</a></div><div dir="ltr"><br></div><div>QMQP may be a good option.  I will check into this method....</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 21, 2018 at 9:19 PM Mark Sapiro <<a href="mailto:mark@msapiro.net">mark@msapiro.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">First a big thank you to Shawn for all the work on MSMilter. I think at<br>
this point with the merge of<br>
<<a href="https://github.com/MailScanner/v5/pull/305" rel="noreferrer" target="_blank">https://github.com/MailScanner/v5/pull/305</a>> it is working very well. It<br>
also provides a framework for adding even more checks at incoming SMTP time.<br>
<br>
There is one thing that I think could be improved in the current<br>
implementation. The milter is invoked by Postfix via the smtpd_milters<br>
configuration on all mail that arrives via SMTP. In most cases, it tells<br>
Postfix to DISCARD the message meaning the SMTP client is told the<br>
message is accepted but Postfix doesn't queue the message for further<br>
processing. The milter in turn has queued the message for MailScanner,<br>
and MailScanner processes the message and may queue messages back to be<br>
picked up by the milter and redelivered to Postfix.<br>
<br>
The issue is the milter reinjects the message via SMTP to postfix. This<br>
means the milter will be invoked again to process the message it just<br>
reinjected. For this reason, the milter just accepts all messages<br>
arriving from the local host so they can be processed by Postfix and<br>
avoid and endless loop through MailScanner.<br>
<br>
This all works, except it means that other messages arriving via SMTP<br>
from the local host are just accepted by the milter and not seen by<br>
MailScanner. This is not a major issue as such messages are usually only<br>
generated by trusted users or processes, but this could be avoided if<br>
the milter reinjected scanned messages using QMQP or the Postfix<br>
sendmail command.<br>
<br>
-- <br>
Mark Sapiro <<a href="mailto:mark@msapiro.net" target="_blank">mark@msapiro.net</a>>        The highway is for gamblers,<br>
San Francisco Bay Area, California    better use your sense - B. Dylan<br>
<br>
<br>
<br>
-- <br>
MailScanner mailing list<br>
<a href="mailto:mailscanner@lists.mailscanner.info" target="_blank">mailscanner@lists.mailscanner.info</a><br>
<a href="http://lists.mailscanner.info/mailman/listinfo/mailscanner" rel="noreferrer" target="_blank">http://lists.mailscanner.info/mailman/listinfo/mailscanner</a><br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr">Shawn Iverson, CETL<div>Director of Technology</div><div>Rush County Schools</div><div>765-932-3901 option 7</div><div><a href="mailto:iversons@rushville.k12.in.us" target="_blank">iversons@rushville.k12.in.us</a></div><div><br></div><div><img src="https://docs.google.com/uc?export=download&id=0Bw5iD0ToYvs_cy1OZFNIZ0drYVU&revid=0Bw5iD0ToYvs_UitIcHVIWkJVVTl2VGpxVUE0d0FQcHBIRXk4PQ" width="96" height="96" style="font-size:12.8px"><img src="https://docs.google.com/uc?export=download&id=0Bw5iD0ToYvs_Zkh4eEs3R01yWXc&revid=0Bw5iD0ToYvs_QWpBK2Y2ajJtYjhOMDRFekZwK2xOamk5Q3Y0PQ" width="89" height="96"></div><div><img src="https://docs.google.com/uc?export=download&id=1aBrlQou4gjB04FY-twHN_0Dn3GHVNxqa&revid=0Bw5iD0ToYvs_RnQ0eDhHcm95WHBFdkNRbXhQRXpoYkR6SEEwPQ" style="font-size:12.8px"><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>