Как отправить почту из программы Ruby? - PullRequest
7 голосов
/ 12 сентября 2008

Я хочу отправить электронное письмо из приложения Ruby. Есть ли в базовом языке призыв сделать это или есть библиотека, которую я должен использовать? Какой лучший способ сделать это?

Ответы [ 6 ]

5 голосов
/ 12 сентября 2008

Если вы не хотите использовать ActionMailer , вы можете использовать Net :: SMTP (для фактической отправки) вместе с tmail для простого создания писем (из нескольких частей и т. д.).

2 голосов
/ 12 сентября 2008
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")
0 голосов
/ 05 ноября 2008

Я знаю, что это поздний ответ, но он только что был выпущен:

http://adam.blog.heroku.com/past/2008/11/2/pony_the_express_way_to_send_email_from_ruby/

Может быть полезно.

0 голосов
/ 17 сентября 2008

RubyMail - библиотека для обработки электронной почты Ruby.

0 голосов
/ 12 сентября 2008

Вы также можете рассмотреть вопрос о компоненте ActionMailer , который поставляется как часть, но не зависит от Rails.

0 голосов
/ 12 сентября 2008

Я использую библиотеку Net :: SMTP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...