关于电子邮件:如何从Ruby程序发送邮件?

关于电子邮件:如何从Ruby程序发送邮件?

How do I send mail from a Ruby program?

我想从Ruby应用程序发送电子邮件。是否有使用核心语言的调用来做到这一点,或者我应该使用一个库?最好的方法是什么?


如果您不想使用ActionMailer,则可以将Net :: SMTP(用于实际发送)与tmail一起使用,以轻松创建电子邮件(包含多个部分等)。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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}>\
\
"

        message_header <<"To: <#{recipient_address}>\
\
"

        message_header <<"Subject: #{subject}\
\
"

        message_header <<"Date:" + Time.now.to_s +"\
\
"

        message = message_header +"\
\
"
+ message_body +"\
\
"

        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")

我知道这是对此的较晚答案,但这已发布:

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

可能有用。


RubyMail是Ruby的电子邮件处理库。


您还可以考虑查看ActionMailer组件,该组件是Rails的一部分,但不依赖于Rails。


我使用Net :: SMTP库


推荐阅读