我正在使用'电子邮件'在节点红色的节点和发送电子邮件,但突然它停止工作,并给我以下错误:
错误:邮件命令失败:530-5.5.1需要验证。了解更多信息,请点击530 5.5.1 https://support.google.com/mail/?p=WantAuthError p19sm7126611pfj.140 - gsmtp
'功能'我正在使用的节点包含所有必需变量msg.to
,msg.from
,msg.topic
。
答案 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'
}
,它将在所有环境中持续存在。