         # File lib/protocols/smtpclient.rb, line 208
    208:                 def invoke_auth
    209:                         if @args[:auth]
    210:                                 if @args[:auth][:type] == :plain
    211:                                         psw = @args[:auth][:password]
    212:                                         if psw.respond_to?(:call)
    213:                                                 psw = psw.call
    214:                                         end
    215:                                         #str = Base64::encode64("\0#{@args[:auth][:username]}\0#{psw}").chomp
    216:                                         str = ["\0#{@args[:auth][:username]}\0#{psw}"].pack("m").chomp
    217:                                         send_data "AUTH PLAIN #{str}\r\n"
    218:                                         @responder = :receive_auth_response
    219:                                 else
    220:                                         return invoke_internal_error("unsupported auth type")
    221:                                 end
    222:                         else
    223:                                 invoke_mail_from
    224:                         end
    225:                 end