Method: CliApplication::MailLib::Message#to_s

Defined in:
lib/cli_application/mail_lib/message.rb

#to_sString

Метод осуществляет сборку (композицию) сообщения в формате MIME для отправки в Интернет. Поля TO, CC, BCC, Subject преобразуются в бинарную форму через base64

Returns:

  • (String)

    сообщение электронной почты в виде форматированного текста



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/cli_application/mail_lib/message.rb', line 53

def to_s
  message = Array.new
  message << "From: #{build_rfc822_name(@from_email, @from_name)}" unless @from_email == ''
  message << "Return-Path: <#{@from_email}>" # http://maksd.info/blog/vse-posty-iz-starogo-bloga/message-75/
  message << build_to_adresses("To", @to)
  message << build_to_adresses("Cc", @cc)
  message << build_to_adresses("Bcc", @bcc)
  message << "Reply-To: #{build_rfc822_name(@reply_to)}" unless @reply_to == ''
  message << "Subject: #{base64_string_encode(@subject)}"
  message << "Date: #{::Time.zone.now.to_formatted_s(:rfc822) }"
  message << "MIME-Version: 1.0 (Ruby gem cli_application; version #{::CliApplication::VERSION})"
  message << "Message-ID: <#{@message_id + '@' + @from_email.split('@').last}>"
  message += alternative_to_s
  message += body_to_s(html_to_text(@body.dup, 65, @charset), 'text/plain')
  message += body_to_s(@body, 'text/html')
  message += footer_to_s

  message.compact!
  message.join("\n")
end