了解红宝石kEND

时间:2014-03-14 10:38:19

标签: ruby email

所以我正在尝试发送一封电子邮件,我相信我在这里做的几乎都是正确的

    #!/usr/bin/ruby

require 'rubygems'
require 'mail'

Mail.defaults do
  delivery_method :smtp, address: "localhost", port: 11025
  # smtp 'localhost', 11025 # '10.11.5.164' # Port 25 defult
end

mail = Mail.new do
      from 'me@mydomain.net'
        to 'someone@herdomain.net'
   subject 'TEST'
      body "here the body"
  add_file :filename => 'attachment.html', :content => File.read('/tmp/attachment.html')
end

mail.deliver!

但我明白了:

/home/username/personal/ruby/emails/email.rb:7: syntax error, unexpected ':', expecting kEND
  delivery_method :smtp, address: "localhost", port: 11025
                                 ^
/home/username/personal/ruby/emails/email.rb:7: syntax error, unexpected ',', expecting kEND
  delivery_method :smtp, address: "localhost", port: 11025

有什么建议吗?我真的无法弄清楚我在这里做错了什么,因为官方的Mail文档指出参数应该是冒号分隔的。 我正在使用ruby 1.9.3

THX

1 个答案:

答案 0 :(得分:0)

看来你正在使用旧版本的Ruby(可能是1.8?)。

在1.9中引入了散列键值对的symbol_name: value语法。在此之前,在Ruby 1.8中,您需要编写:symbol_name => value

delivery_method :smtp, :address => "localhost", :port => 11025

就像你在后面的代码中写的一样。

相关问题