如何从 Ruby 程序发送邮件?

How do I send mail from a Ruby program?

提问人:David 提问时间:9/12/2008 最后编辑:Peter MortensenDavid 更新时间:1/21/2015 访问量:3866

问:

我想从 Ruby 应用程序发送电子邮件。是否有核心语言的调用来执行此操作,或者是否有我应该使用的库?最好的方法是什么?

Ruby 电邮

评论


答:

0赞 Pat 9/12/2008 #1

我使用 Net::SMTP

-1赞 Mike Woodhouse 9/12/2008 #2

你也可以考虑看一下 ActionMailer 组件,它作为 Rails 的一部分提供,但不依赖于 Rails。

6赞 ujh 9/12/2008 #3

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

1赞 pauliephonic 9/12/2008 #4
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('[email protected]',['[email protected]', '[email protected]'],'test Email',"Hi there this is a test email hope you like it")

评论

0赞 akostadinov 7/18/2023
您知道可以同时向多个收件人发送电子邮件吗?
0赞 ChrisInEdmonton 9/17/2008 #5

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

0赞 jonnii 11/5/2008 #6

我知道这是一个迟到的答案,但这是刚刚发布的:

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

可能有用。