         # File lib/em/protocols/smtpserver.rb, line 348
    348:       def process_mail_from sender
    349:         if (@@parms[:starttls]==:required and !@state.include?(:starttls))
    350:           send_data "550 This server requires STARTTLS before MAIL FROM\r\n"
    351:         elsif (@@parms[:auth]==:required and !@state.include?(:auth))
    352:           send_data "550 This server requires authentication before MAIL FROM\r\n"
    353:         elsif @state.include?(:mail_from)
    354:           send_data "503 MAIL already given\r\n"
    355:         else
    356:           unless receive_sender sender
    357:             send_data "550 sender is unacceptable\r\n"
    358:           else
    359:             send_data "250 Ok\r\n"
    360:             @state << :mail_from
    361:           end
    362:         end
    363:       end