在Ruby中发送带附件的电子邮件

时间:2010-07-07 13:24:39

标签: ruby email attachment

我需要通过Ruby发送附件附件的电子邮件。

一直在搜索,但没有找到任何简单的脚本示例来执行此操作。

最近我发现是ActionMailer但似乎需要运行一堆其他脚本。 (注意:我没有使用Ruby on Rails)

3 个答案:

答案 0 :(得分:17)

你签出了Mail吗?这就是Rails 3中新的ActionMailer API构建的基础。

“Mail是Ruby的互联网库,旨在以简单的rubyesque方式处理电子邮件的生成,解析和发送。”

以下是文档中的一个简单示例:

require 'mail'

@mail = Mail.new
file_data = File.read('path/to/myfile.pdf')
@mail.attachments['myfile.pdf'] = { :mime_type => 'application/x-pdf',
                                    :content => file_data }

更新:或者更简单:

@mail = Mail.new
@mail.add_file("/path/to/file.jpg")

答案 1 :(得分:1)

完整文档:here

require 'mail'

Mail.deliver do
  from      "bob@example.com"
  to        "alice@example.com"
  subject   "Email with attachment"
  body      "Hello world"
  add_file  "/path/to/file"
end

答案 2 :(得分:1)

通过" mail"使用任何类型的附件发送电子邮件或电子邮件变得更加简单宝石安装。

步骤:1安装" mail"宝石

步骤:2在ruby文件中维护下面给出的语法:

require 'mail'
def mailsender
      Mail.defaults do
        delivery_method :smtp,{ address: "<smtp_address>",openssl_verify_mode: "none" }
      end

      Mail.deliver do
        from     'from_mail_id'
        to       'to_mail_id'
        subject  'subject_to_be_sent'
        # body     File.read('body.txt')
        body     'body.txt'
        add_file '<file_location>/Word Doc.docx'
        add_file '<file_location>/Word Doc.doc'
      end
end

步骤:3现在只需在步骤定义中调用方法。