# File lib/protocols/smtpclient.rb, line 265
265:                 def receive_data_response
266:                         return invoke_error unless @range == 3
267: 
268:                         # The data to send can be given either in @args[:content] (an array or string of raw data
269:                         # which MUST be in correct SMTP body format, including a trailing dot line), or a header and
270:                         # body given in @args[:header] and @args[:body].
271:                         #
272:                         if @args[:content]
273:                                 send_data @args[:content].to_s
274:                         else
275:                                 # The header can be a hash or an array.
276:                                 if @args[:header].is_a?(Hash)
277:                                         (@args[:header] || {}).each {|k,v| send_data "#{k}: #{v}\r\n" }
278:                                 else
279:                                         send_data @args[:header].to_s
280:                                 end
281:                                 send_data "\r\n"
282: 
283:                                 if @args[:body].is_a?(Array)
284:                                         @args[:body].each {|e| send_data e}
285:                                 else
286:                                         send_data @args[:body].to_s
287:                                 end
288: 
289:                                 send_data "\r\n.\r\n"
290:                         end
291: 
292:                         @responder = :receive_message_response
293:                 end