# File lib/protocols/smtpclient.rb, line 236
236:                 def receive_data_response
237:                         return invoke_error unless @range == 3
238: 
239:                         # The data to send can be given either in @args[:content] (an array or string of raw data
240:                         # which MUST be in correct SMTP body format, including a trailing dot line), or a header and
241:                         # body given in @args[:header] and @args[:body].
242:                         #
243:                         if @args[:content]
244:                                 send_data @args[:content].to_s
245:                         else
246:                                 # The header can be a hash or an array.
247:                                 if @args[:header].is_a?(Hash)
248:                                         (@args[:header] || {}).each {|k,v| send_data "#{k}: #{v}\r\n" }
249:                                 else
250:                                         send_data @args[:header].to_s
251:                                 end
252:                                 send_data "\r\n"
253: 
254:                                 if @args[:body].is_a?(Array)
255:                                         @args[:body].each {|e| send_data e}
256:                                 else
257:                                         send_data @args[:body].to_s
258:                                 end
259: 
260:                                 send_data "\r\n.\r\n"
261:                         end
262: 
263:                         @responder = :receive_message_response
264:                 end