电子邮件节点凭据不会以节点红色持久存在

时间:2017-12-07 05:46:13

标签: node-red

我正在使用'电子邮件'在节点红色的节点和发送电子邮件,但突然它停止工作,并给我以下错误:

  

错误:邮件命令失败:530-5.5.1需要验证。了解更多信息,请点击530 5.5.1 https://support.google.com/mail/?p=WantAuthError p19sm7126611pfj.140 - gsmtp

'功能'我正在使用的节点包含所有必需变量msg.tomsg.frommsg.topic

emailOut node configuration

1 个答案:

答案 0 :(得分:2)

因此,我进入了node-red-node-email模块[https://www.npmjs.com/package/node-red-node-email],查找了代码,发现:

...

var globalkeys = RED.settings.email || require(process.env.NODE_RED_HOME+"/../emailkeys.js");

...

var flag = false;
        if (this.credentials && this.credentials.hasOwnProperty("userid")) {
            this.userid = this.credentials.userid;
        } else {
            if (globalkeys) {
                this.userid = globalkeys.user;
                flag = true;
            }
        }
        if (this.credentials && this.credentials.hasOwnProperty("password")) {
            this.password = this.credentials.password;
        } else {
            if (globalkeys) {
                this.password = globalkeys.pass;
                flag = true;
            }
        }
        if (flag) {
            RED.nodes.addCredentials(n.id,{userid:this.userid, password:this.password, global:true});
        }

https://github.com/node-red/node-red-nodes/blob/master/social/email/61-email.js#L25

因此,如果我们在RED.settings(此文件-https://github.com/node-red/node-red/blob/master/settings.js)中设置电子邮件凭据,它将使用该电子邮件凭据正确发送电子邮件:

email: {
  user: 'emailaccount@google.com',
  pass: 'password'
}

,它将在所有环境中持续存在。