@hyperbytes/wappler-imap-manager 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/package.json +2 -2
  2. package/server_connect/modules/imapcount.hjson +2 -2
  3. package/server_connect/modules/imapcreatefolder.hjson +2 -2
  4. package/server_connect/modules/imapdelete.hjson +2 -2
  5. package/server_connect/modules/imapdeletefolder.hjson +2 -2
  6. package/server_connect/modules/imapdeletefolder.js +1 -1
  7. package/server_connect/modules/imapdirlist.hjson +2 -2
  8. package/server_connect/modules/imapexpunge.hjson +2 -2
  9. package/server_connect/modules/imapflag.hjson +2 -2
  10. package/server_connect/modules/imapgetattachments.hjson +2 -2
  11. package/server_connect/modules/imapgetrawheaders.hjson +11 -7
  12. package/server_connect/modules/{testfile_bug.hjsonx → imapgetuidvalidity.hjson} +21 -36
  13. package/server_connect/modules/imapgetuidvalidity.js +43 -0
  14. package/server_connect/modules/imapmailcontent.hjson +2 -2
  15. package/server_connect/modules/imapmailheaders.hjson +2 -2
  16. package/server_connect/modules/imapmovefolder.hjson +2 -2
  17. package/server_connect/modules/imapremoveflag.hjson +2 -2
  18. package/server_connect/modules/imapsaveasdraft.hjson +2 -2
  19. package/server_connect/modules/imapsendmail.hjson +2 -2
  20. package/server_connect/modules/imapstore.hjson +2 -2
  21. package/server_connect/modules/imapsubscribe.hjson +2 -2
  22. package/server_connect/modules/imapsubscribedlist.hjson +2 -2
  23. package/server_connect/modules/imaptrashperms.hjson +2 -2
  24. package/server_connect/modules/imapunsubscribedlist.hjson +2 -2
  25. package/server_connect/modules/imapcount.php +0 -17
  26. package/server_connect/modules/imapcreatefolder.php +0 -17
  27. package/server_connect/modules/imapdelete.php +0 -17
  28. package/server_connect/modules/imapdeletefolder.php +0 -17
  29. package/server_connect/modules/imapdirlist.php +0 -17
  30. package/server_connect/modules/imapexpunge.php +0 -17
  31. package/server_connect/modules/imapflag.php +0 -17
  32. package/server_connect/modules/imapgetattachments.php +0 -17
  33. package/server_connect/modules/imapgetrawheaders.php +0 -17
  34. package/server_connect/modules/imapmailcontent.php +0 -17
  35. package/server_connect/modules/imapmailheaders.php +0 -71
  36. package/server_connect/modules/imapmovefolder.php +0 -17
  37. package/server_connect/modules/imapremoveflag.php +0 -17
  38. package/server_connect/modules/imapsaveflag.php +0 -17
  39. package/server_connect/modules/imapsendmail.php +0 -17
  40. package/server_connect/modules/imapstore.php +0 -17
  41. package/server_connect/modules/imapsubscribe.php +0 -17
  42. package/server_connect/modules/imapsubscribedlist.php +0 -17
  43. package/server_connect/modules/imaptrashperms.php +0 -17
  44. package/server_connect/modules/imapunsubscribedlist.php +0 -17
  45. package/server_connect/modules/testfile.hjsonx +0 -134
  46. package/server_connect/modules/testfile.js +0 -28
  47. package/server_connect/modules/testfile_bug.js +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperbytes/wappler-imap-manager",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "IMAP eMail Management for Wappler",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -13,7 +13,7 @@
13
13
  "email"
14
14
  ],
15
15
  "dependencies": {
16
- "imap": "^8.8.19",
16
+ "imap": "^0.8.0",
17
17
  "mailparser": "^3.7.2",
18
18
  "imap-simple": "^5.1.0",
19
19
  "mailtrap": "^4.1.0",
@@ -9,7 +9,7 @@
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -30,7 +30,7 @@
30
30
  required: true,
31
31
  baseName: "imap"
32
32
  },
33
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
33
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
34
34
  type: 'droplist',
35
35
  values: [
36
36
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -29,7 +29,7 @@
29
29
  required: true,
30
30
  baseName: "imap"
31
31
  },
32
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
32
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
33
33
  type: 'droplist',
34
34
  values: [
35
35
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -33,7 +33,7 @@ groupIcon : 'fas fa-envelope comp-general',
33
33
  required: true,
34
34
  baseName: "imap"
35
35
  },
36
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
36
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
37
37
  type: 'droplist',
38
38
  values: [
39
39
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -28,7 +28,7 @@
28
28
  required: true,
29
29
  baseName: "imap"
30
30
  },
31
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
31
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
32
32
  type: 'droplist',
33
33
  values: [
34
34
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -12,7 +12,7 @@ exports.imapdeletefolder = async function (options) {
12
12
  const IMAP_TLS = (imap_tlsstring == 'true');
13
13
  let folder = this.parseRequired(options.imapfolder, '*', 'Folder to delete not specified');
14
14
  const separator = process.env.IMAP_SUB_SEPARATOR || '/';
15
- folder = folder.startsWith("INBOX/") ? folder.substring(6) : folder;
15
+ folder = folder.startsWith("INBOX" + separator) ? folder.substring(6) : folder;
16
16
  console.log('folder is: ' + folder)
17
17
  return new Promise((resolve, reject) => {
18
18
  const imap = new Imap({
@@ -9,7 +9,7 @@
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -35,7 +35,7 @@
35
35
  required: true,
36
36
  baseName: "imap"
37
37
  },
38
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
38
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
39
39
  type: 'droplist',
40
40
  values: [
41
41
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -26,7 +26,7 @@ groupIcon : 'fas fa-envelope comp-general',
26
26
  required: true,
27
27
  baseName: "imap"
28
28
  },
29
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
29
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
30
30
  type: 'droplist',
31
31
  values: [
32
32
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -31,7 +31,7 @@ groupIcon : 'fas fa-envelope comp-general',
31
31
  required: true,
32
32
  baseName: "imap"
33
33
  },
34
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
34
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
35
35
  type: 'droplist',
36
36
  values: [
37
37
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -36,7 +36,7 @@ groupIcon : 'fas fa-envelope comp-general',
36
36
  required: true,
37
37
  baseName: "imap"
38
38
  },
39
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
39
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
40
40
  type: 'droplist',
41
41
  values: [
42
42
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -27,11 +27,11 @@ groupIcon : 'fas fa-envelope comp-general',
27
27
  required: true,
28
28
  baseName: "imap"
29
29
  },
30
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
30
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
31
31
  type: 'droplist',
32
32
  values: [
33
33
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
34
- {title: 'Enable Manula Overrides', value: 'MANUAL',hide:[],show:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls'] },
34
+ {title: 'Enable Manual Overrides', value: 'MANUAL',hide:[],show:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls'] },
35
35
 
36
36
 
37
37
  ],
@@ -51,7 +51,8 @@ groupIcon : 'fas fa-envelope comp-general',
51
51
  optionName: 'imap_host',
52
52
  title: 'IMAP Host',
53
53
  type: 'text',
54
- defaultValue: "", initDisplay: 'none',
54
+ defaultValue: "",
55
+ initDisplay: 'none',
55
56
  serverDataBindings: true,
56
57
  help: 'The IMAP Host Server'
57
58
  },
@@ -59,7 +60,8 @@ groupIcon : 'fas fa-envelope comp-general',
59
60
  optionName: 'imap_user',
60
61
  title: 'IMAP User',
61
62
  type: 'text',
62
- defaultValue: "", initDisplay: 'none',
63
+ defaultValue: "",
64
+ initDisplay: 'none',
63
65
  serverDataBindings: true,
64
66
  help: 'The IMAP user'
65
67
  },
@@ -68,7 +70,8 @@ groupIcon : 'fas fa-envelope comp-general',
68
70
  optionName: 'imap_password',
69
71
  title: 'IMAP password',
70
72
  type: 'text',
71
- defaultValue: "", initDisplay: 'none',
73
+ defaultValue: "",
74
+ initDisplay: 'none',
72
75
  serverDataBindings: true,
73
76
  help: 'The IMAP password'
74
77
  },
@@ -76,7 +79,8 @@ groupIcon : 'fas fa-envelope comp-general',
76
79
  optionName: 'imap_port',
77
80
  title: 'IMAP Port',
78
81
  type: 'text',
79
- defaultValue: "", initDisplay: 'none',
82
+ defaultValue: "",
83
+ initDisplay: 'none',
80
84
  serverDataBindings: true,
81
85
  help: 'The IMAP port'
82
86
  },
@@ -1,22 +1,28 @@
1
1
  [{
2
- type: 'testfile_bug-testfile_bug',
3
- module : 'testfile_bug',
4
- action : 'testfile_bug',
2
+ type: 'imapgetuidvalidity-imapgetuidvalidity',
3
+ module : 'imapgetuidvalidity',
4
+ action : 'imapgetuidvalidity',
5
5
  groupTitle : 'Mailer',
6
6
  groupIcon : 'fas fa-envelope comp-general',
7
- title : 'bug test file',
8
- icon : 'fas fa-solid fa-calculator comp-general',
7
+ title : 'IMAP Get mailbox uidValidity',
8
+ icon : 'fas fa-solid fa-hashtag comp-exec',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
+ node: {
12
+ 'imap' : '^0.8.19',
13
+ 'mailparser' : '^3.7.2'
14
+ }
11
15
  },
12
16
  dataScheme: [
17
+ { type:"text", name: 'mailbox' }
18
+ { type: "number",name: "uidvalidity"},
19
+ {type: "number", name: "status"}
13
20
  ],
14
21
  properties : [
15
22
  {
16
- group: 'Inputs',
23
+ group: 'IMAP Inputs',
17
24
  variables: [
18
25
 
19
-
20
26
  { name: 'actionName',
21
27
  optionName: 'name',
22
28
  title: 'Name',
@@ -24,32 +30,11 @@
24
30
  required: true,
25
31
  baseName: "imap"
26
32
  },
27
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
33
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
28
34
  type: 'droplist',
29
35
  values: [
30
36
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
31
- {title: 'Enable Manula Overrides', value: 'MANUAL',hide:[],show:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls'] },
32
-
33
-
34
- ],
35
- defaultValue: 'ENV',
36
- help: 'Choose your TLS settings.',
37
- initValue: "ENV"
38
- },
39
-
40
-
41
- { name: 'actionName',
42
- optionName: 'name',
43
- title: 'Name',
44
- type: 'text',
45
- required: true,
46
- baseName: "imap"
47
- },
48
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
49
- type: 'droplist',
50
- values: [
51
- {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
52
- {title: 'Enable Manula Overrides', value: 'MANUAL',hide:[],show:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls'] },
37
+ {title: 'Enable Manual Overrides', value: 'MANUAL',hide:[],show:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls'] },
53
38
 
54
39
 
55
40
  ],
@@ -117,14 +102,14 @@
117
102
  type: 'static',
118
103
  help: 'API ACTION SETTINGS'
119
104
  },
120
-
121
- {name: 'entry',
122
- optionName: 'entry',
123
- title: 'Entry',
124
- type: 'folder',
105
+ { name: 'mailbox',
106
+ optionName: 'mailbox',
107
+ title: 'Mailbox',
108
+ type: 'text',
109
+ required: true,
125
110
  defaultValue: "",
126
111
  serverDataBindings: true,
127
- help: 'The Entry'
112
+ help: 'The Mailbox to get uidValidity'
128
113
  },
129
114
  { name: 'output',
130
115
  optionName: 'output',
@@ -0,0 +1,43 @@
1
+ const Imap = require('imap');
2
+
3
+ exports.imapgetuidvalidity = async function (options, name) {
4
+ const IMAP_HOST = this.parseOptional(options.imap_host, '*', process.env.IMAP_HOST);
5
+ const IMAP_PASSWORD = this.parseOptional(options.imap_password, '*', process.env.IMAP_PASSWORD);
6
+ const IMAP_USER = this.parseOptional(options.imap_user, '*', process.env.IMAP_USER);
7
+ const IMAP_PORT = this.parseOptional(options.imap_port, '*', process.env.IMAP_PORT);
8
+ const imap_tlsstring = this.parseOptional(options.imap_tls, '*', process.env.IMAP_TLS).toLowerCase();
9
+ const IMAP_TLS = (imap_tlsstring === 'true');
10
+ const folderName = this.parseRequired(options.mailbox, '*', 'Mailbox not specified');
11
+ return new Promise((resolve, reject) => {
12
+ const imap = new Imap({
13
+ user: IMAP_USER,
14
+ password: IMAP_PASSWORD,
15
+ host: IMAP_HOST,
16
+ port: IMAP_PORT,
17
+ tls: IMAP_TLS
18
+ });
19
+
20
+ imap.once('ready', () => {
21
+ imap.openBox(folderName, false, (err, box) => {
22
+ if (err) {
23
+ imap.end();
24
+ return reject({ mailbox: "", uidvalidity: "", code: 400, error: `Error opening mailbox '${folderName}': ${err.message}` });
25
+ }
26
+
27
+ const uidValidity = box.uidvalidity;
28
+ imap.end();
29
+ resolve({ mailbox: folderName, uidvalidity: uidValidity, status: 200 });
30
+ });
31
+ });
32
+
33
+ imap.once('error', (err) => {
34
+ reject({ mailbox: "", uidvalidity: "", code: 401, error: `Connection error: ${err.message}` });
35
+ });
36
+
37
+ imap.once('end', () => {
38
+ console.log('IMAP connection closed.');
39
+ });
40
+
41
+ imap.connect();
42
+ });
43
+ };
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -77,7 +77,7 @@ groupIcon : 'fas fa-envelope comp-general',
77
77
  required: true,
78
78
  baseName: "imap"
79
79
  },
80
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
80
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
81
81
  type: 'droplist',
82
82
  values: [
83
83
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -61,7 +61,7 @@ groupIcon : 'fas fa-envelope comp-general',
61
61
  required: true,
62
62
  baseName: "imap"
63
63
  },
64
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
64
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
65
65
  type: 'droplist',
66
66
  values: [
67
67
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -32,7 +32,7 @@ groupIcon : 'fas fa-envelope comp-general',
32
32
  required: true,
33
33
  baseName: "imap"
34
34
  },
35
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
35
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
36
36
  type: 'droplist',
37
37
  values: [
38
38
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -26,7 +26,7 @@ groupIcon : 'fas fa-envelope comp-general',
26
26
  required: true,
27
27
  baseName: "imap"
28
28
  },
29
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
29
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
30
30
  type: 'droplist',
31
31
  values: [
32
32
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2',
14
14
  'imap-simple' : '^5.1.0',
15
15
  'mailtrap' : '^4.1.0',
@@ -34,7 +34,7 @@ groupIcon : 'fas fa-envelope comp-general',
34
34
  required: true,
35
35
  baseName: "imap"
36
36
  },
37
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
37
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
38
38
  type: 'droplist',
39
39
  values: [
40
40
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2',
14
14
  'nodemailer' : '^6.10.1'
15
15
  }
@@ -30,7 +30,7 @@
30
30
  required: true,
31
31
  baseName: "imap"
32
32
  },
33
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
33
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
34
34
  type: 'droplist',
35
35
  values: [
36
36
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -26,7 +26,7 @@ groupIcon : 'fas fa-envelope comp-general',
26
26
  required: true,
27
27
  baseName: "imap"
28
28
  },
29
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
29
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
30
30
  type: 'droplist',
31
31
  values: [
32
32
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@ groupIcon : 'fas fa-envelope comp-general',
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -30,7 +30,7 @@ groupIcon : 'fas fa-envelope comp-general',
30
30
  required: true,
31
31
  baseName: "imap"
32
32
  },
33
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
33
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
34
34
  type: 'droplist',
35
35
  values: [
36
36
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -35,7 +35,7 @@
35
35
  required: true,
36
36
  baseName: "imap"
37
37
  },
38
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
38
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
39
39
  type: 'droplist',
40
40
  values: [
41
41
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -28,7 +28,7 @@
28
28
  required: true,
29
29
  baseName: "imap"
30
30
  },
31
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
31
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
32
32
  type: 'droplist',
33
33
  values: [
34
34
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -9,7 +9,7 @@
9
9
  dataPickObject: true,
10
10
  usedModules : {
11
11
  node: {
12
- 'imap' : '^8.8.19',
12
+ 'imap' : '^0.8.19',
13
13
  'mailparser' : '^3.7.2'
14
14
  }
15
15
  },
@@ -35,7 +35,7 @@
35
35
  required: true,
36
36
  baseName: "imap"
37
37
  },
38
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
38
+ { name: 'selector', optionName: 'selector', title: 'IMAP Settings Selection',
39
39
  type: 'droplist',
40
40
  values: [
41
41
  {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapcount($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapcreatefolder($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapdelete($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapdeletefolder($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapdirlist($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapexpunge($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapflag($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapgetattachments($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapgetrawheaders($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapmailcontent($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,71 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
-
9
- <?php
10
- public function imapMailHeaders($options, $name) {
11
- $IMAP_HOST = $options['imap_host'] ?? getenv('IMAP_HOST');
12
- $IMAP_PASSWORD = $options['imap_password'] ?? getenv('IMAP_PASSWORD');
13
- $IMAP_USER = $options['imap_usesr'] ?? getenv('IMAP_USER');
14
- $IMAP_PORT = $options['imap_port'] ?? getenv('IMAP_PORT');
15
- $IMAP_TLS = strtolower($options['imap_tls'] ?? getenv('IMAP_TLS')) === 'true';
16
-
17
- $offset = $options['offset'] ?? 0;
18
- $payload = $options['payload'] ?? 25;
19
- $mailbox = $options['mailbox'] ?? 'INBOX';
20
-
21
- $imap = imap_open("{" . $IMAP_HOST . ":" . $IMAP_PORT . ($IMAP_TLS ? "/ssl" : "") . "}INBOX", $IMAP_USER, $IMAP_PASSWORD);
22
-
23
- if (!$imap) {
24
- return ['data' => [], 'status' => 401];
25
- }
26
-
27
- $messages = [];
28
- $totalMessages = imap_num_msg($imap);
29
-
30
- if ($totalMessages === 0) {
31
- imap_close($imap);
32
- return ['data' => [], 'status' => 200];
33
- }
34
-
35
- $end = max($totalMessages - ($offset * $payload), 1);
36
- $start = max($end - $payload, 1);
37
-
38
- if ($start > $end || $start < 1) {
39
- imap_close($imap);
40
- return ['data' => [], 'status' => 400];
41
- }
42
-
43
- for ($i = $start; $i <= $end; $i++) {
44
- $headers = imap_headerinfo($imap, $i);
45
- $messageData = [
46
- 'id' => $i,
47
- 'uid' => imap_uid($imap, $i),
48
- 'headers' => [
49
- 'from' => $headers->fromaddress,
50
- 'to' => $headers->toaddress ?? '',
51
- 'cc' => $headers->ccaddress ?? '',
52
- 'bcc' => $headers->bccaddress ?? '',
53
- 'subject' => $headers->subject,
54
- 'message-id' => $headers->message_id ?? '',
55
- 'messagedate' => date('Y-m-d H:i:s', strtotime($headers->date))
56
- ],
57
- 'flags' => imap_fetch_overview($imap, $i)[0]->flags ?? [],
58
- 'attachmentCount' => count(imap_mime_header_decode($headers->subject)),
59
- 'uidvalidity' => imap_uid($imap, $i),
60
- 'mailbox' => $mailbox
61
- ];
62
-
63
- $messages[] = $messageData;
64
- }
65
-
66
- imap_close($imap);
67
- return ['data' => array_reverse($messages), 'status' => 200];
68
- }
69
- ?>
70
-
71
-
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapmovefolder($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapremoveflag($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapsaveflag($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapsendmail($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapstore($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapsubscribe($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapsubscribedlist($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imaptrashperms($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- namespace modules;
4
-
5
- use \lib\core\Module;
6
-
7
- class custom extends Module
8
- {
9
- public function imapunsubscribedlist($options, $name) {
10
-
11
- $myObj->response = "This function is not yet available in PHP";
12
-
13
- return json_encode($myObj);
14
- }
15
- }
16
-
17
- ?>
@@ -1,134 +0,0 @@
1
- [{
2
- type: 'testfile-testfile',
3
- module : 'testfile',
4
- action : 'testfile',
5
- groupTitle : 'Mailer',
6
- groupIcon : 'fas fa-envelope comp-general',
7
- title : 'IMAP testfile',
8
- icon : 'fas fa-solid fa-list comp-general',
9
- dataPickObject: true,
10
- usedModules : {
11
- node: {
12
- 'imap' : '^8.8.19',
13
- 'mailparser' : '^3.7.2'
14
- }
15
- },
16
- dataScheme: [# HJSON definition using 'sub' for nested structures, as requested for Wappler.io
17
- [
18
- { name: 'id', type: 'number' }
19
- { name: 'uid', type: 'number' }
20
- {
21
- name: 'headers', type: 'object', sub: [ # <--- Changed from 'schema' to 'sub'
22
- { name: 'from', type: 'text' }, sub: [ {name:'address', type:'text'}, {name:'name', type:'text'} ]
23
- { name: 'to', type: 'array' }, sub: [ sub: [ {name:'address', type:'text'}, {name:'name', type:'text'} ]]
24
- { name: 'cc', type: 'array' }, sub: []# Array of email strings
25
- { name: 'bcc', type: 'array' }, sub: []# Array of email strings (can be empty)
26
- { name: 'subject', type: 'text' } # Array of subject strings
27
- { name: 'message-id', type: 'number' } # Array of message-id strings
28
- { name: 'messagedate', type: 'text' } # Date/time string
29
- ]
30
- }
31
- { name: 'flags', type: 'array' } # Array of flag strings (e.g., "\\Seen")
32
- { name: 'attachmentCount', type: 'number' }
33
- { name: 'uidvalidity', type: 'number' }
34
- { name: 'mailbox', type: 'text' }
35
- { name: 'uidKey', type: 'text' }
36
- { name: 'status', type: 'number' }
37
- ]
38
- ],
39
- properties : [
40
- {
41
- group: 'IMAP Inputs',
42
- variables: [
43
-
44
- { name: 'actionName',
45
- optionName: 'name',
46
- title: 'Name',
47
- type: 'text',
48
- required: true,
49
- baseName: "imap"
50
- },
51
- { name: 'selector', optionName: 'selector', title: 'IAMP Settings Selection',
52
- type: 'droplist',
53
- values: [
54
- {title: 'Use ENV ', value: 'ENV' ,show:[],hide:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls']},
55
- {title: 'Enable Manula Overrides', value: 'MANUAL',hide:[],show:['imap_msg','imap_host','imap_user','imap_password','imap_port','imap_tls'] },
56
-
57
-
58
- ],
59
- defaultValue: 'ENV',
60
- help: 'Choose your TLS settings.',
61
- initValue: "ENV"
62
- },
63
-
64
- {name: 'imap_msg',
65
- optionName: 'imap_msg',
66
- title: 'IMAP password',
67
- type: 'static',
68
- help: 'IMAP .ENV OVERRIDE SETTINGS'
69
- },
70
-
71
- {name: 'imap_host',
72
- optionName: 'imap_host',
73
- title: 'IMAP Host',
74
- type: 'text',
75
- defaultValue: "", initDisplay: 'none',
76
- serverDataBindings: true,
77
- help: 'The IMAP Host Server'
78
- },
79
- {name: 'imap_user',
80
- optionName: 'imap_user',
81
- title: 'IMAP User',
82
- type: 'text',
83
- defaultValue: "", initDisplay: 'none',
84
- serverDataBindings: true,
85
- help: 'The IMAP user'
86
- },
87
-
88
- {name: 'imap_password',
89
- optionName: 'imap_password',
90
- title: 'IMAP password',
91
- type: 'text',
92
- defaultValue: "", initDisplay: 'none',
93
- serverDataBindings: true,
94
- help: 'The IMAP password'
95
- },
96
- {name: 'imap_port',
97
- optionName: 'imap_port',
98
- title: 'IMAP Port',
99
- type: 'text',
100
- defaultValue: "", initDisplay: 'none',
101
- serverDataBindings: true,
102
- help: 'The IMAP port'
103
- },
104
- { name: 'imap_tls', optionName: 'imap_tls', title: 'TLS Settings',
105
- type: 'droplist',
106
- values: [
107
- {title: 'Use ENV if available', value: 'ENV' },
108
- {title: 'True', value: 'True' },
109
- {title: 'False', value: 'False' },
110
-
111
- ],
112
- defaultValue: 'ENV', initDisplay: 'none',
113
- help: 'Choose your TLS settings.',
114
- initValue: "ENV"
115
- },
116
-
117
- {name: 'imap_msg2',
118
- optionName: 'imap_msg2',
119
- title: '',
120
- type: 'static',
121
- help: 'API ACTION SETTINGS'
122
- },
123
-
124
-
125
- { name: 'output',
126
- optionName: 'output',
127
- title: 'Output',
128
- type: 'boolean',
129
- defaultValue: false
130
- }
131
-
132
- ]
133
- },
134
- ]}]
@@ -1,28 +0,0 @@
1
- const nodemailer = require("nodemailer");
2
- const imap = require("imap");
3
- const fs = require("fs");
4
- const path = require("path");
5
- const { toSystemPath } = require("../../../lib/core/path");
6
-
7
-
8
- // Function to load SMTP settings dynamically
9
-
10
- exports.testfile = async function (options) {
11
-
12
- const imap_host = this.parseOptional(options.imap_host, '*', process.env.IMAP_HOST);
13
- const imap_password = this.parseOptional(options.imap_password, '*', process.env.IMAP_PASSWORD);
14
- const imap_user = this.parseOptional(options.imap_usesr, '*', process.env.IMAP_USER);
15
- const imap_port = this.parseOptional(options.imap_port, '*', process.env.IMAP_PORT);
16
- const imap_tlsstring = this.parseOptional(options.imap_tls, '*', process.env.IMAP_TLS).toLowerCase();
17
- const imap_tls = (imap_tlsstring == 'true');
18
- console.log("imap_host: " + imap_host);
19
- console.log("imap_password: " + imap_password);
20
- console.log("imap_user: " + imap_user);
21
- console.log("imap_port: " + imap_port);
22
- console.log("imap_tls Options: " + options.imap_tls);
23
- console.log("imap_tls: " + imap_tls);
24
- let folderRaw = process.env.IMAP_DEFAULT_DOWNLOAD_FOLDER;
25
- console.log("ENV path: " + folderRaw)
26
- return folderParsed
27
-
28
- }
@@ -1,8 +0,0 @@
1
-
2
-
3
-
4
- exports.testfile_bug = async function (options) {
5
- const entry = this.parseOptional(options.entry, '*', '');
6
- console.log("Enty: " + entry);
7
- return entry
8
- }