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