logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       azumakuniyuki

Class Methods

"code(reason,temp)"
       code() method 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() method returns the 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() method checks whether the 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() method returns the DSN value only from the text including a 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(CodeinStatus:field,Codeinanerrormessage,[Replycode])"
       prefer() method 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"

   "is_explicit(deliverystatuscode)"
       is_explicit() method returns 0 if the delivery status code is empty or is an internal code

           print Sisimai::SMTP::Status->is_explicit("5.0.901"); # 0
           print Sisimai::SMTP::Status->is_explicit("5.7.625"); # 1

Description

       "Sisimai::SMTP::Status" is a utility class for getting the DSN value from the error reason text, getting
       the reason from the DSN value, and getting the DSN from the text including a DSN.

License

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

Name

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

Pod Errors

       Hey! Theabovedocumenthadsomecodingerrors,whichareexplainedbelow:

       Around line 953:
           Unterminated C<B<...>> sequence

perl v5.40.1                                       2025-04-12                         Sisimai::SMTP::Status(3pm)

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'

See Also