mirror of
				https://github.com/node-red/node-red-nodes.git
				synced 2025-03-01 10:37:43 +00:00 
			
		
		
		
	Merge branch 'master' of https://github.com/node-red/node-red-nodes
This commit is contained in:
		| @@ -49,6 +49,10 @@ | |||||||
|         <input type="password" id="node-input-password"> |         <input type="password" id="node-input-password"> | ||||||
|     </div> |     </div> | ||||||
|     <br/> |     <br/> | ||||||
|  |     <div class="form-row"> | ||||||
|  |         <label for="node-input-useTLS"><i class="fa fa-lock"></i> <span data-i18n="email.label.useTLS"></label> | ||||||
|  |         <input type="checkbox" id="node-input-tls" style="display:inline-block; width:20px; vertical-align:baseline;"> | ||||||
|  |     </div> | ||||||
|     <div class="form-row"> |     <div class="form-row"> | ||||||
|         <label for="node-input-dname"><i class="fa fa-tag"></i> <span data-i18n="node-red:common.label.name"></span></label> |         <label for="node-input-dname"><i class="fa fa-tag"></i> <span data-i18n="node-red:common.label.name"></span></label> | ||||||
|         <input type="text" id="node-input-dname" data-i18n="[placeholder]node-red:common.label.name"> |         <input type="text" id="node-input-dname" data-i18n="[placeholder]node-red:common.label.name"> | ||||||
| @@ -69,6 +73,7 @@ | |||||||
|     <p>Alternatively you may provide <code>msg.attachments</code> which should contain an array of one or |     <p>Alternatively you may provide <code>msg.attachments</code> which should contain an array of one or | ||||||
|     more attachments in <a href="https://www.npmjs.com/package/nodemailer#attachments" target="_new">nodemailer</a> format.</p> |     more attachments in <a href="https://www.npmjs.com/package/nodemailer#attachments" target="_new">nodemailer</a> format.</p> | ||||||
|     <p>If required by your recipient you may also pass in a <code>msg.envelope</code> object, typically containing extra from and to properties.</p> |     <p>If required by your recipient you may also pass in a <code>msg.envelope</code> object, typically containing extra from and to properties.</p> | ||||||
|  |     <p>If you have own signed certificates, Nodemailer can complain about that and refuse sending the message. In this case you can try switching off TLS.</p> | ||||||
|     <p>Note: uses SMTP with SSL to port 465.</p> |     <p>Note: uses SMTP with SSL to port 465.</p> | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
| @@ -81,6 +86,7 @@ | |||||||
|             server: {value:"smtp.gmail.com",required:true}, |             server: {value:"smtp.gmail.com",required:true}, | ||||||
|             port: {value:"465",required:true}, |             port: {value:"465",required:true}, | ||||||
|             secure: {value: true}, |             secure: {value: true}, | ||||||
|  |             tls: {value: true}, | ||||||
|             name: {value:""}, |             name: {value:""}, | ||||||
|             dname: {value:""} |             dname: {value:""} | ||||||
|         }, |         }, | ||||||
|   | |||||||
| @@ -30,6 +30,7 @@ module.exports = function(RED) { | |||||||
|         this.outserver = n.server; |         this.outserver = n.server; | ||||||
|         this.outport = n.port; |         this.outport = n.port; | ||||||
|         this.secure = n.secure; |         this.secure = n.secure; | ||||||
|  |         this.tls = true; | ||||||
|         var flag = false; |         var flag = false; | ||||||
|         if (this.credentials && this.credentials.hasOwnProperty("userid")) { |         if (this.credentials && this.credentials.hasOwnProperty("userid")) { | ||||||
|             this.userid = this.credentials.userid; |             this.userid = this.credentials.userid; | ||||||
| @@ -50,12 +51,16 @@ module.exports = function(RED) { | |||||||
|         if (flag) { |         if (flag) { | ||||||
|             RED.nodes.addCredentials(n.id,{userid:this.userid, password:this.password, global:true}); |             RED.nodes.addCredentials(n.id,{userid:this.userid, password:this.password, global:true}); | ||||||
|         } |         } | ||||||
|  |         if (n.tls === false){ | ||||||
|  |             this.tls = false; | ||||||
|  |         } | ||||||
|         var node = this; |         var node = this; | ||||||
|  |  | ||||||
|         var smtpOptions = { |         var smtpOptions = { | ||||||
|             host: node.outserver, |             host: node.outserver, | ||||||
|             port: node.outport, |             port: node.outport, | ||||||
|             secure: node.secure |             secure: node.secure, | ||||||
|  |             tls: {rejectUnauthorized: node.tls} | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (this.userid && this.password) { |         if (this.userid && this.password) { | ||||||
|   | |||||||
| @@ -13,6 +13,7 @@ | |||||||
|             "folder": "Folder", |             "folder": "Folder", | ||||||
|             "protocol": "Protocol", |             "protocol": "Protocol", | ||||||
|             "useSSL": "Use SSL?", |             "useSSL": "Use SSL?", | ||||||
|  |             "useTLS": "Use TLS?", | ||||||
|             "disposition": "Disposition", |             "disposition": "Disposition", | ||||||
|             "none": "None", |             "none": "None", | ||||||
|             "read": "Mark Read", |             "read": "Mark Read", | ||||||
|   | |||||||
| @@ -374,6 +374,14 @@ module.exports = function(RED) { | |||||||
|                     var res = result.body; |                     var res = result.body; | ||||||
|                     if (res.errors) { |                     if (res.errors) { | ||||||
|                         node.error(res.errors[0].message); |                         node.error(res.errors[0].message); | ||||||
|  |                         if (res.errors[0].code === 44) { | ||||||
|  |                             // 'since_id parameter is invalid' - reset it for next time | ||||||
|  |                             delete opts.since_id; | ||||||
|  |                         } | ||||||
|  |                         clearInterval(pollId); | ||||||
|  |                         node.timeout_ids.push(setTimeout(function() { | ||||||
|  |                             node.poll(interval,url,opts); | ||||||
|  |                         },interval)) | ||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     if (res.length > 0) { |                     if (res.length > 0) { | ||||||
| @@ -438,7 +446,11 @@ module.exports = function(RED) { | |||||||
|             node.debug("Twitter DM Poll, rateLimitRemaining="+result.rateLimitRemaining+" rateLimitTimeout="+Math.floor(result.rateLimitTimeout/1000)+"s"); |             node.debug("Twitter DM Poll, rateLimitRemaining="+result.rateLimitRemaining+" rateLimitTimeout="+Math.floor(result.rateLimitTimeout/1000)+"s"); | ||||||
|             var res = result.body; |             var res = result.body; | ||||||
|             if (res.errors) { |             if (res.errors) { | ||||||
|                 throw new Error(res.errors[0].message); |                 node.error(res.errors[0].message); | ||||||
|  |                 node.timeout_ids.push(setTimeout(function() { | ||||||
|  |                     node.pollDirectMessages(); | ||||||
|  |                 },interval)) | ||||||
|  |                 return; | ||||||
|             } |             } | ||||||
|             var since = "0"; |             var since = "0"; | ||||||
|             var messages = res.events.filter(tweet => tweet.type === 'message_create' && tweet.id > since); |             var messages = res.events.filter(tweet => tweet.type === 'message_create' && tweet.id > since); | ||||||
| @@ -459,6 +471,10 @@ module.exports = function(RED) { | |||||||
|                     var res = result.body; |                     var res = result.body; | ||||||
|                     if (res.errors) { |                     if (res.errors) { | ||||||
|                         node.error(res.errors[0].message); |                         node.error(res.errors[0].message); | ||||||
|  |                         clearInterval(pollId); | ||||||
|  |                         node.timeout_ids.push(setTimeout(function() { | ||||||
|  |                             node.pollDirectMessages(); | ||||||
|  |                         },interval)) | ||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                     var messages = res.events.filter(tweet => tweet.type === 'message_create' && tweet.id > since); |                     var messages = res.events.filter(tweet => tweet.type === 'message_create' && tweet.id > since); | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|     "name": "node-red-node-twitter", |     "name": "node-red-node-twitter", | ||||||
|     "version": "1.1.0", |     "version": "1.1.2", | ||||||
|     "description": "A Node-RED node to talk to Twitter", |     "description": "A Node-RED node to talk to Twitter", | ||||||
|     "dependencies": { |     "dependencies": { | ||||||
|         "twitter-ng": "0.6.2", |         "twitter-ng": "0.6.2", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user