我有一个使用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隐藏我的数据吗?
答案 0 :(得分:1)
查看设置环境变量(你在正确的轨道上)。
请参阅此处如何在Heroku上设置环境变量:
https://devcenter.heroku.com/articles/config-vars
设置环境变量(EMAIL_USERNAME)后,您可以使用以下代码从代码中访问它:
email_username = ENV['EMAIL_USERNAME']
email_password = ENV['EMAIL_PASSWORD']