sub
text {
'rejected'
}
sub
description {
"Email rejected due to a sender's email address (envelope from)"
}
sub
match {
my
$class
=
shift
;
my
$argv1
=
shift
//
return
undef
;
state
$isnot
= [
'5.1.0 address rejected'
,
'recipient address rejected'
,
'sender ip address rejected'
,
];
state
$index
= [
'access denied (in reply to mail from command)'
,
'access denied (sender blacklisted)'
,
'address rejected'
,
'administrative prohibition'
,
'batv failed to verify'
,
'batv validation failure'
,
'backscatter protection detected an invalid or expired email address'
,
"because the sender isn't on the recipient's list of senders to accept mail from"
,
'bogus mail from'
,
"can't determine purported responsible address"
,
'connections not accepted from servers without a valid sender domain'
,
'denied [bouncedeny]'
,
'denied by secumail valid-address-filter'
,
'delivery not authorized, message refused'
,
'does not exist e2110'
,
'domain of sender address '
,
'email address is on senderfilterconfig list'
,
'emetteur invalide'
,
'empty envelope senders not allowed'
,
'envelope blocked - '
,
'error: no third-party dsns'
,
'from: domain is invalid. please provide a valid from:'
,
'fully qualified email address required'
,
'invalid domain, see <url:'
,
'invalid sender'
,
'is not a registered gateway user'
,
'mail from not owned by user'
,
'message rejected: email address is not verified'
,
'mx records for '
,
'null sender is not allowed'
,
'recipient addresses rejected : access denied'
,
'recipient not accepted. (batv: no tag'
,
'returned mail not accepted here'
,
'rfc 1035 violation: recursive cname records for'
,
'rule imposed mailbox access for'
,
'sending this from a different address or alias using the '
,
'sender address has been blacklisted'
,
'sender email address rejected'
,
'sender is in my black list'
,
'sender is spammer'
,
'sender not pre-approved'
,
'sender rejected'
,
'sender domain is empty'
,
'sender verify failed'
,
'sender was rejected'
,
'spam reporting address'
,
'syntax error: empty email address'
,
'the message has been rejected by batv defense'
,
'this server does not accept mail from'
,
'transaction failed unsigned dsn for'
,
'unroutable sender address'
,
'you are not allowed to post to this mailing list'
,
'you are sending to/from an address that has been blacklisted'
,
'your access to submit messages to this e-mail system has been rejected'
,
'your email address has been blacklisted'
,
];
return
0
if
grep
{
rindex
(
$argv1
,
$_
) > -1 }
@$isnot
;
return
1
if
grep
{
rindex
(
$argv1
,
$_
) > -1 }
@$index
;
return
0;
}
sub
true {
my
$class
=
shift
;
my
$argvs
=
shift
//
return
undef
;
return
1
if
$argvs
->{
'reason'
} eq
'rejected'
;
my
$tempreason
= Sisimai::SMTP::Status->name(
$argvs
->{
'deliverystatus'
}) ||
'undefined'
;
return
1
if
$tempreason
eq
'rejected'
;
my
$issuedcode
=
lc
$argvs
->{
'diagnosticcode'
};
my
$thecommand
=
$argvs
->{
'command'
} ||
''
;
if
(
$thecommand
eq
'MAIL'
) {
return
1
if
__PACKAGE__->match(
$issuedcode
);
}
elsif
(
$thecommand
eq
'DATA'
) {
if
(
$tempreason
ne
'userunknown'
) {
return
1
if
__PACKAGE__->match(
$issuedcode
);
}
}
elsif
(
$tempreason
eq
'onhold'
||
$tempreason
eq
'undefined'
||
$tempreason
eq
'securityerror'
||
$tempreason
eq
'systemerror'
) {
return
1
if
__PACKAGE__->match(
$issuedcode
);
}
return
0;
}
1;