Как отправить почту из программы Ruby?
Вопрос
Я хочу отправить электронное письмо из приложения Ruby.Есть ли в базовом языке вызов для этого или есть ли библиотека, которую мне следует использовать?Как лучше всего это сделать?
Решение
Если вы не хотите использовать ActionMailer вы можете использовать Сеть::SMTP (для фактической отправки) вместе с tmail для простого создания электронных писем (состоящих из нескольких частей и т. д.).
Другие советы
require 'net/smtp'
SMTP_SERVER = 'mailserver01' #change to your server
def send_emails(sender_address, recipients, subject, message_body)
recipients.each do |recipient_address|
message_header =''
message_header << "From: <#{sender_address}>\r\n"
message_header << "To: <#{recipient_address}>\r\n"
message_header << "Subject: #{subject}\r\n"
message_header << "Date: " + Time.now.to_s + "\r\n"
message = message_header + "\r\n" + message_body + "\r\n"
Net::SMTP.start(SMTP_SERVER, 25) do |smtp|
smtp.send_message message, sender_address, recipient_address
end
end
end
send_emails('sender@domain.com',['recip1@test.com', 'recip2@other.com'],'test Email',"Hi there this is a test email hope you like it")
Я использую Сеть::SMTP библиотека
Вы также можете рассмотреть возможность взглянуть на ActionMailer компонент, который поставляется как часть Rails, но не зависит от него.
Рубиновая почта — это библиотека обработки электронной почты для Ruby.
Я знаю, что это поздний ответ на этот вопрос, но это было только что выпущено:
http://adam.blog.heroku.com/past/2008/11/2/pony_the_express_way_to_send_email_from_ruby/
Может быть полезно.