         # File lib/em/protocols/smtpserver.rb, line 377
    377:       def process_rcpt_to rcpt
    378:         unless @state.include?(:mail_from)
    379:           send_data "503 MAIL is required before RCPT\r\n"
    380:         else
    381:           succeeded = proc {
    382:             send_data "250 Ok\r\n"
    383:             @state << :rcpt unless @state.include?(:rcpt)
    384:           }
    385:           failed = proc {
    386:             send_data "550 recipient is unacceptable\r\n"
    387:           }
    388:
    389:           d = receive_recipient rcpt
    390:
    391:           if d.respond_to?(:set_deferred_status)
    392:             d.callback(&succeeded)
    393:             d.errback(&failed)
    394:           else
    395:             (d ? succeeded : failed).call
    396:           end
    397:
    398: ??
    399:         end
    400:       end