dra*_*son 2 javascript email meteor
我已经构建了一个应用程序并添加了我的SMTP凭据(在服务器代码块中):
Meteor.startup(function () {
smtp = {
username: 'username@emails.com',
password: 'lkajflkadjakdlfj',
server: 'smtp.emails.com',
port: 587
}
process.env.MAIL_URL = 'smtp://' + encodeURIComponent(smtp.username) + ':' + encodeURIComponent(smtp.password) + '@' + encodeURIComponent(smtp.server) + ':' + smtp.port;
});
Run Code Online (Sandbox Code Playgroud)
这很有效,而且发送得很好.但是,只要阅读我部署的应用程序的源代码,任何人都可以使用我的凭据.
我还应该在其他地方存储这些凭据吗?还是另一种完全设置它的方法?
一般来说,尽量避免在代码中使用硬编码环境变量,还有其他一些选项可供您使用.
您可以Meteor.settings用来存储您的私人凭据:
private/settings.json
{
"MAIL_URL": "smtp://smtp://postmaster%40mg.domain.com:password@smtp.mailgun.org:587"
}
Run Code Online (Sandbox Code Playgroud)
server/config.js
process.env.MAIL_URL = Meteor.settings.MAIL_URL;
Run Code Online (Sandbox Code Playgroud)
不要忘记使用流星设置为您的应用提供信息:
本地开发工作流程
meteor --settings private/settings.json
Run Code Online (Sandbox Code Playgroud)
部署到Meteor服务器:
meteor deploy myapp.meteor.com --settings private/settings.json
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用mup(Meteor Up)提供一个名为mup.json的配置文件,您可以将您的凭据存储为env变量,这非常方便.
mup.json
"env": {
"MAIL_URL": "..."
}
Run Code Online (Sandbox Code Playgroud)
最后但同样重要的是,如果您使用版本控制,请不要忘记.gitignore您的设置!
.gitignore
private/settings.json
mup.json
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |