我需要通过Ruby发送带有附件的电子邮件。在Ruby中发送带附件的电子邮件
正在四处搜索,但还没有找到任何简单的脚本示例来执行此操作。
最近我发现是ActionMailer,但似乎需要一堆其他脚本才能运行。 (注意:我没有使用Ruby on Rails)
我需要通过Ruby发送带有附件的电子邮件。在Ruby中发送带附件的电子邮件
正在四处搜索,但还没有找到任何简单的脚本示例来执行此操作。
最近我发现是ActionMailer,但似乎需要一堆其他脚本才能运行。 (注意:我没有使用Ruby on Rails)
你检出了Mail?这就是Rails 3中新的ActionMailer API的基础。
“邮件是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")
完整的文档:here
require 'mail'
Mail.deliver do
from "[email protected]"
to "[email protected]"
subject "Email with attachment"
body "Hello world"
add_file "/path/to/file"
end
发送电子邮件或电子邮件与一个通过“邮件”gem安装,ny类型的附件变得更加简单。
步骤:1安装“邮件”宝石
步骤:2在红宝石文件保持下面给出的语法:
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现在只需拨打在步骤定义的方法。
这些家伙明确表示不使用Rails – sergiovilar 2016-08-21 13:33:59
@sergiovilar:Mail是一个纯粹的Ruby库。它不依赖于Rails。因此这是一个有效的答案(即使在今天,答案发布6年后)。 – 2016-08-23 12:04:27
我得到这个错误:'未定义的方法'[]'为零:NilClass' – mpora 2017-09-13 19:31:36