这是我试过的代码
a = [1,2,3,4,5]
require 'net/smtp'
message = <<MESSAGE_END
From: Private Person <me@fromdomain.com>
To: A Test User <test@todomain.com>
Subject: Something
"#{a}" This is a test e-mail message.
MESSAGE_END
Net::SMTP.start('localhost') do |smtp|
smtp.send_message message, 'me@fromdomain.com',
'test@todomain.com'
end
我已经找到了解决这个问题的方法
message =%Q(
Subject: Test suite result
#{a}
)
smtp = Net::SMTP.new 'smtp.gmail.com', 587
smtp.enable_starttls
smtp.start('smtp.gmail.com', 'from@mail.com', 'password', :plain) do |smtp|
smtp.send_message message, 'from@mail.com',
'to@mail.com'
end
但如果我使用上述方法,我只能发送正文,不能发送主题和地址。
答案 0 :(得分:1)
Heredocs可以使用#{var}
语法接受像普通字符串这样的变量:
message = <<MESSAGE_END
From: Private Person <me@fromdomain.com>
To: A Test User <test@todomain.com>
Subject: #{a}
This is a test e-mail message.
MESSAGE_END