Sinatra と Pony メールを使用して、自分のサイトからメールを送信できます。問題は、本文を erb テンプレートを使用するように設定することです。
だから私の設定はそのように設定されています
post '/' do
from = params[:name]
subject = "#{params[:name]} has contacted you"
body = erb(:mail)
Pony.mail(
:from => from,
:to => ENV["EMAIL_ADDRESS"],
:subject => subject,
:body => body,
:via => :smtp,
:via_options => {
:address => 'smtp.gmail.com',
:port => '587',
:enable_starttls_auto => true,
:user_name => ENV["USER_NAME"],
:password => ENV["PASSWORD"],
:authentication => :plain,
:domain => "localhost.localdomain"
})
flash[:notice] = "Thanks for your email. I will be in touch soon."
redirect '/success'
したがって、件名は正しくレンダリングされますが、メッセージの本文は実際には Web ページの html ソースとして返されます (ソースを右クリックしたかのように)。
私のerbテンプレートはそうです
Hello Rich,
Seems as if you have recieved an email from <%= params[:name] %> via your website.
Their email address is <%= params[:email] %>, this is what they said.
<%= params[:message] %>
では、なぜ体はアーブテンパルテをレンダリングしないのですか?
私はここで少し混乱していますか?erb テンプレート内で何かを間違って設定しましたか?
ありがとう