我只是设置了Devise(rails认证插件),在注册时发送确认电子邮件。这涉及到我将以下内容放入我的environment.rb文件中:
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:tls => true,
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:authentication => :login,
:user_name => "[my email]",
:password => "[my pass]"
}
我显然不想把它推到github,只有坐在那里[我的通行证]。这里有标准做法吗?
答案 0 :(得分:10)
答案 1 :(得分:4)
apneadiving是正确的,添加到他的解决方案,其他人下载你的代码,可能不会很快弄清楚如何生成这个yml,所以你需要给他们一个提示,具有以下结构:
config
|
|--- environment.rb
|--- mail_settings.yml
|--- main_settings.yml.example
文件'mail_settings.yml'包含您的敏感信息,不包含在repo中,并且您的repo中包含'main_settings.yml.example',并且具有与'mail_settings.yml'相同的结构。
为了更有帮助,请在README文件中提供一个部分,描述人们需要将mail_settings.yml.example文件复制到mail_settings.yml并增强其内容。
答案 2 :(得分:1)
创建包含邮件设置的配置文件,并从文件中加载它们。检查配置文件,删除所有设置。让您的应用程序检查文件是否已填写,如果不是,则显示错误并正常退出(或禁用邮件,只需确保用户知道发生了什么)。
这具有额外的优势,即用户可以轻松更改邮件设置,而无需编辑代码。一般来说,告诉用户编辑代码以设置配置是个坏主意。此外,您可以将配置保持在与代码不同的位置,以便更容易到达。