如何从Ruby程序发送邮件?
我想从Ruby应用程序发送电子邮件。 是否有核心语言的调用来执行此操作,或者是否应该使用库? 最好的方法是什么?
如果您不想使用ActionMailer ,可以使用Net :: 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")
我使用Net :: SMTP库
您还可以考虑查看作为其一部分提供但不依赖于Rails的ActionMailer组件。
RubyMail是Ruby的电子邮件处理库。
我知道这是一个迟到的答案,但刚刚发布:
http://adam.blog.heroku.com/past/2008/11/2/pony_the_express_way_to_send_email_from_ruby/
可能有用。