120: def receive_line ln
121: @@parms[:verbose] and $>.puts ">>> #{ln}"
122: if @state.include?(:data)
123: process_data_line ln
124: elsif ln =~ EhloRegex
125: process_ehlo $'.dup
126: elsif ln =~ HeloRegex
127: process_helo $'.dup
128: elsif ln =~ MailFromRegex
129: process_mail_from $'.dup
130: elsif ln =~ RcptToRegex
131: process_rcpt_to $'.dup
132: elsif ln =~ DataRegex
133: process_data
134: elsif ln =~ RsetRegex
135: process_rset
136: elsif ln =~ VrfyRegex
137: process_vrfy
138: elsif ln =~ ExpnRegex
139: process_expn
140: elsif ln =~ HelpRegex
141: process_help
142: elsif ln =~ NoopRegex
143: process_noop
144: elsif ln =~ QuitRegex
145: process_quit
146: elsif ln =~ StarttlsRegex
147: process_starttls
148: elsif ln =~ AuthRegex
149: process_auth $'.dup
150: else
151: process_unknown
152: end
153: end