如何从Ruby程序发送邮件?

10
我想从一个Ruby应用程序中发送电子邮件。核心语言中是否有此功能调用,还是我应该使用库?最佳方法是什么?
6个回答

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

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

你知道吗?你可以同时向多个收件人发送电子邮件。 - akostadinov
你知道吗?你可以同时向多个收件人发送电子邮件。 - undefined

0

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


0

0

-1
你也可以考虑查看作为 Rails 组件之一但不依赖于 Rails 的 ActionMailer 组件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接