2014-10-20 5 views
3

nodemailer을 사용하여 메일을 보내는 앱이 있습니다.안전하게 비밀번호 저장 nodemailer

transporter = nodemailer.createTransport({ 
    service: 'Gmail', 
    auth: { 
    user: "email", 
    pass: "what here?" 
    } 
}); 

나는 어디서나 일반 텍스트 암호가 존재하지 않기를 바랄뿐 아니라, 응용 프로그램을 오픈 소스로 유지하려고한다.

나는 nodemailler-direct를 알고 있지만 여기에는 더 좋은 옵션이 있습니까? 나는 또한 서버 콘솔에 암호를 요구하는 것에 대해 생각했지만, 너무 까다 롭다.

그런 일을하는 "올바른"표준 방법이 있습니까?

답변

5

사용 환경 변수 :

transporter = nodemailer.createTransport({ 
    service: process.env.NODEMAILER_SERVICE, 
    auth: { 
    user: process.env.NODEMAILER_USER, 
    pass: process.env.NODEMAILER_PASS 
    } 
}); 

당신은 서버에서 이러한 변수를 설정하고 응용 프로그램을 선택할 것입니다. 예 :

NODEMAILER_SERVICE="Gmail" 
+0

서버의 경우 "app-reboots"동안 지속적으로 유지됩니까? –

+0

글쎄, 그것은 당신의 환경이 어떻게 설정되어 있는가에 달려있다. 앱 재부팅은 문제가되지 않지만, 서버 재부팅 후에 이러한 변수가 설정되어 있는지 확인해야합니다. –

+0

감사. env 변수를 더 자세히 살펴보고 기본 사항을 배울 때 더 눈에 띄지 않는다는 사실에 놀랐습니다. –