Ruby Sinatra:数据隐藏方法

Ruby Sinatra:数据隐藏方法,ruby,email,heroku,sinatra,Ruby,Email,Heroku,Sinatra,我有一个使用heroku和github部署的Sinatra应用程序。我使用一个表单发送电子邮件,处理如下: post '/send' do Pony.mail( :to => "**my_email**", :from => "**my_email**", :body => "Hi", :via => :smtp, :via_options => { :address => 'smtp.gmail.c

我有一个使用heroku和github部署的Sinatra应用程序。我使用一个表单发送电子邮件,处理如下:

post '/send' do 
Pony.mail(
  :to => "**my_email**",
  :from => "**my_email**",
  :body => "Hi",

  :via => :smtp,
  :via_options => { 
    :address              => 'smtp.gmail.com', 
    :port                 => '25', 
    :enable_starttls_auto => true, 
    :user_name            => '--**MY_USERNAME**--', 
    :password             => '--**MY_PASSWORD**--', 
    :authentication       => :plain
  })
end
当然,每个人都可以从github看到我的用户名和密码。如何在没有数据库的情况下隐藏登录详细信息? 在其他人的代码中,我一直看到这种方法:

ENV['SENDGRID_USERNAME']
我读过sendgrid是什么,我认为我的应用程序不需要它。
是否有其他选项可以从web和github隐藏我的数据

查看如何设置环境变量(您的思路是正确的)

请参见此处如何在Heroku上设置环境变量:

设置环境变量(EMAIL_USERNAME)后,您可以使用以下方式从代码中访问它:

email_username = ENV['EMAIL_USERNAME']
email_password = ENV['EMAIL_PASSWORD']