所以我正在尝试发送一封电子邮件,我相信我在这里做的几乎都是正确的
#!/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
答案 0 :(得分:0)
看来你正在使用旧版本的Ruby(可能是1.8?)。
在1.9中引入了散列键值对的symbol_name: value
语法。在此之前,在Ruby 1.8中,您需要编写:symbol_name => value
。
delivery_method :smtp, :address => "localhost", :port => 11025
就像你在后面的代码中写的一样。