NAME

Sisimai::Reason - Detect the bounce reason

SYNOPSIS

use Sisimai::Reason;

DESCRIPTION

Sisimai::Reason detects the bounce reason from the content of Sisimai::Data object as an argument of get() method. This class is called only Sisimai::Data class.

CLASS METHODS

get( Sisimai::Data Object )

get() detects the bounce reason.

anotherone( Sisimai::Data object )

anotherone() is a method for detecting the bounce reason, it works as a fall back method of get() and called only from get() method.

match() detects the bounce reason from given text as a error message.

match( String )

match() is a method for detecting the bounce reason from the string given as an argument of the method. However, this method is experimental implementation and low analytical precision.

LIST OF BOUNCE REASONS

Sisimai::Reason-get()> detects the reason of bounce with parsing the bounced messages. The following reasons will be set in the value of reason property of Sisimai::Data instance.

blocked

Rejected SMTP session due to client hostname or IP address or the argument of HELO/EHLO.

contenterror

The value of Status header or the value of deliverystatus is 5.6.X or the original message is invalid format message and so on.

exceedlimit

The value of Status header or the value of deliverystatus is X.2.3 or the message size exceeded the limit of recipient's mailbox size limit.

expired

Delivery time has expired.

filtered

The recipient address rejected at the end of DATA command.

hasmoved

The recipient address has moved to another address or the value of Status header or the value of deliverystatus is 4.1.6 or 5.1.6.

hostunknown

The host part of the recipient address does not exist or the value of Status header or the value of deliverystatus is 5.1.2.

mailboxfull

The recipient's mailbox is full or the value of Status header or the value of deliverystatus is X.2.2

mailererror

Mailer program at the remote host exit with the status code except 0 and 75.

mesgtoobig

SMTP session rejected due to the message size exceeded server limit or the value of Status header or the value of deliverystatus is X.3.4.

notaccept

Remote server does not accept email.

onhold

Could not detect the reason of bounce or deciding the reason is on hold due to lack of error messages.

rejected

The sender email address rejected or the value of Status header or the value of deliverystatus is X.1.8.

norelaying

Relaying denied.

securityerror

Message rejected due to SPAM content or virus or other security reason. The value of Status header or the value of deliverystatus is X.7.Y.

suspend

The recipient's mailbox temporary disabled.

networkerror

Network related errors such as DNS look up failure.

spamdetected

The message was detected as a spam.

systemerror

Configuration error on the remote host or local hosts.

systemfull

Disk full or other similar status on the remote server.

userunknown

Recipient address does not exist or the value of Status header or the value of deliverystatus is 5.1.1.

feedback

The message returned from the recipient or his/her provider as a ARF: Abuse Feedback Reporting Format message.

SEE ALSO

Sisimai::ARF http://tools.ietf.org/html/rfc5965

AUTHOR

azumakuniyuki

COPYRIGHT

Copyright (C) 2014-2015 azumakuniyuki <perl.org@azumakuniyuki.org>, All Rights Reserved.

LICENSE

This software is distributed under The BSD 2-Clause License.