[Mimedefang] Block internal messages
Kevin A. McGrail
KMcGrail at PCCC.com
Mon Dec 26 22:01:46 EST 2016
On 12/26/2016 9:38 PM, Richard Laager wrote:
> On 12/26/2016 03:35 PM, Marcelo Machado wrote:
>> I am new to Mimedefang and I would like to know if it is possible to
>> block internal messages, (from my domain to my domain) if the number
>> of recipients is greater than 10.
> Anything is possible if you write the custom Perl code required. What
> you have described wouldn't be too terribly hard. No, that's not an
> offer to write it. Look at the @Recipients array. In there, you can
> determine if some recipients are local, and how many. The $Sender
> variable is how you'd determine if the sender is local.
>
filter_sender might be the better way to go. That way you can
accept/reject/etc.
From the man page:
filter_sender is passed four arguments: $sender is the envelope
e-mail address of the sender (for example,
"<dfs at roaringpenguin.com>"). The address may or may not be
surrounded by angle brackets. $ip and $name are
the IP address and host name of the SMTP relay. Finally, $helo
is the argument to the SMTP "HELO" command.
Then something to strip to the domain:
#get domain name from an email address
sub get_domain_from_email {
my ($domain) = @_;
#REMOVE ANY LEADING/TRAILING <>'s
$domain =~ s/(^<|>$)//g;
#REMOVE ANY LEADING/TRAILING SPACE'S
$domain =~ s/^ *//g;
$domain =~ s/ *$//g;
#REMOVE EVERYTHING UP TO THE @ SYMBOL
$domain =~ s/.*\@//g;
return $domain;
}
And then a check like if (uc(&get_domain_from_email($sender)) eq
'MARCELO.ORG') {
return ('REJECT', "Sorry; Can't send internal email.");
}
Regards,
KAM
More information about the MIMEDefang
mailing list