Provided by: libsisimai-perl_5.0.1-1_all bug

NAME

       Sisimai::SMTP::Status - SMTP Enhanced Status Codes related utilities

SYNOPSIS

           use Sisimai::SMTP::Status;
           print Sisimai::SMTP::Status->code('userunknown');           # '5.0.911'
           print Sisimai::SMTP::Status->name('5.1.2');                 # 'hostunknown'
           print Sisimai::SMTP::Status->find('550 5.1.1 Unknown user');# '5.1.1'

DESCRIPTION

       Sisimai::SMTP::Status is utilities for getting DSN value from error reason text, getting
       the reason from DSN value, and getting DSN from the text including DSN.

CLASS METHODS

   "code(reason,temp)"
       code() returns pseudo DSN value from the specified reason string. The second argument is a
       flag for getting pseudo DSN value as a temporary error.

           print Sisimai::SMTP::Status->code('mailboxfull');   # '5.0.922'
           print Sisimai::SMTP::Status->code('mailboxfull',1); # '4.0.922'

   "name(D.S.N.)"
       name() returns a reason string from the specified DSN value.

           print Sisimai::SMTP::Status->name('5.1.6');         # 'hasmoved'
           print Sisimai::SMTP::Status->name('4.2.3');         # 'exceedlimit'

   "test(D.S.N.)"
       test() checks whether a status code is a valid code or not.

           print Sisimai::SMTP::Status->test('5.1.6'); # 1
           print Sisimai::SMTP::Status->test('3.14');  # 0

   "find(String, String)"
       find() returns a DSN value only from the text including DSN

           print Sisimai::SMTP::Status->find('5.0.0');                  # '5.0.0'
           print Sisimai::SMTP::Status->find('550 5.1.1 User unknown'); # '5.1.1'
           print Sisimai::SMTP::Status->find('447 delivery expired');   # ''

   "prefer(Code in Status: field, Code in an error message, [Reply code])"
       prefer() returns the preferred value selected from the arguments.

           print Sisimai::SMTP::Status->prefer("5.2.1", "5.0.0");      # "5.2.1"
           print Sisimai::SMTP::Status->prefer("4.4.7", "5.1.1", 421); # "4.4.7"

AUTHOR

       azumakuniyuki

COPYRIGHT

       Copyright (C) 2015-2018,2020-2024 azumakuniyuki, All rights reserved.

LICENSE

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