2014-10-20 3 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

На сервере это постоянно сохраняется над «перезагрузкой приложений»? –

+0

Ну, это зависит от того, как настроена ваша среда. Перезагрузка приложений не должна быть проблемой, но вам нужно будет убедиться, что эти переменные установлены после перезагрузки сервера. –

+0

Спасибо. Я буду смотреть в env переменные дальше, удивляясь, что они не были более заметными, когда я изучал основы. –