Приветствую!
Имею такой код:
# -*- coding: UTF-8 -*-
require 'net/smtp'
def send_email(to, subject, message,opts={})
opts[:server] ||= 'smtp.mymail.ru'
opts[:port] ||= 25
opts[:domain] ||= "mail.from.domain"
opts[:user_name] ||="user"
opts[:password] ||= "password"
opts[:authentication] ||="plain"
opts[:from] ||= 'me@me.com'
opts[:from_alias] ||= 'me'
opts[:subject] ||= subject
opts[:body] ||= message
msg = <<END_OF_MESSAGE
From: #{opts[:from_alias]} <#{opts[:from]}>
To: <#{to}>
Subject: #{opts[:subject]}
Content-type: text/html
#{opts[:body]}
END_OF_MESSAGE
Net::SMTP.start(opts[:server], opts[:port], opts[:domain], opts[:user_name], opts[:password], opts[:authentication]) do |smtp|
smtp.send_message msg, opts[:from], to
end
end
subject='Заголовок'
messages='Тело письма'
send_email('adresat@mymail.ru',subject, message)
Русский текст приходит абракадаброй.