zam12345 1.0.0
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.
Potentially problematic release.
This version of zam12345 might be problematic. Click here for more details.
- package/05-02.html +35 -0
- package/05_01.js +64 -0
- package/05_02.js +63 -0
- package/05_03.js +8 -0
- package/m06_ZAM.js +35 -0
- package/package.json +153 -0
- package/packages/package.json +6 -0
- package/~$/320/261/320/276/321/200/320/260/321/202/320/276/321/200/320/275/320/260/321/217_/321/200/320/260/320/261/320/276/321/202/320/260_05.docx +0 -0
- package//320/233/320/260/320/261/320/276/321/200/320/260/321/202/320/276/321/200/320/275/320/260/321/217_/321/200/320/260/320/261/320/276/321/202/320/260_05.docx +0 -0
package/05-02.html
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
</head>
|
|
6
|
+
<body>
|
|
7
|
+
<div id="container">
|
|
8
|
+
<form action="http://localhost:5000/" method="POST">
|
|
9
|
+
<table id="container_table">
|
|
10
|
+
<tr>
|
|
11
|
+
<td>Отправитель</td>
|
|
12
|
+
<td><input id="sender" type="email" name="sender" placeholder="Ваш e-mail"></td>
|
|
13
|
+
</tr>
|
|
14
|
+
|
|
15
|
+
<tr>
|
|
16
|
+
<td>Получатель</td>
|
|
17
|
+
<td><input id="receiver" type="email" name="receiver" placeholder="E-mail получателя"></td>
|
|
18
|
+
</tr>
|
|
19
|
+
|
|
20
|
+
<tr>
|
|
21
|
+
<td>Тема</td>
|
|
22
|
+
<td><input id="subject" type="text" name="subject" placeholder="Тема сообщения"></td>
|
|
23
|
+
</tr>
|
|
24
|
+
|
|
25
|
+
<tr>
|
|
26
|
+
<td>Сообщение</td>
|
|
27
|
+
<td><input id="message" type="text" name="message" placeholder="Ваше сообщение"></td>
|
|
28
|
+
</tr>
|
|
29
|
+
</table>
|
|
30
|
+
<button type="submit">Отправить</button>
|
|
31
|
+
</form>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
</body>
|
|
35
|
+
</html>
|
package/05_01.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// информация о пакете nodemailer: npm info nodemailer
|
|
2
|
+
// установка: npm install nodemailer
|
|
3
|
+
// проверка установки: npm list nodemailer
|
|
4
|
+
|
|
5
|
+
const http = require('http');
|
|
6
|
+
const url = require('url');
|
|
7
|
+
const fs = require('fs');
|
|
8
|
+
const { parse } = require('querystring');
|
|
9
|
+
const nodemailer = require('nodemailer');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
http.createServer((request, response) => {
|
|
14
|
+
response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
15
|
+
|
|
16
|
+
if (url.parse(request.url).pathname === '/' && request.method === 'GET')
|
|
17
|
+
{
|
|
18
|
+
response.end(fs.readFileSync('./06-02.html'));
|
|
19
|
+
}
|
|
20
|
+
else if (url.parse(request.url).pathname === '/' && request.method === 'POST')
|
|
21
|
+
{
|
|
22
|
+
let body = '';
|
|
23
|
+
request.on('data', chunk => { body += chunk.toString(); });
|
|
24
|
+
|
|
25
|
+
request.on('end', () => {
|
|
26
|
+
let parm = parse(body);
|
|
27
|
+
|
|
28
|
+
const transporter = nodemailer.createTransport({
|
|
29
|
+
host: 'smtp.gmail.com',
|
|
30
|
+
port: 465,
|
|
31
|
+
secure: false,
|
|
32
|
+
service: 'Gmail',
|
|
33
|
+
auth: {
|
|
34
|
+
user: parm.sender,
|
|
35
|
+
pass: parm.password
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const mailOptions = {
|
|
40
|
+
from: parm.sender,
|
|
41
|
+
to: parm.receiver,
|
|
42
|
+
subject: parm.subject,
|
|
43
|
+
text: parm.message
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
transporter.sendMail(mailOptions, (err, info) => {
|
|
47
|
+
err ? console.log(err) : console.log('Sent: ' + info.response);
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
response.end(`<h2>Отправитель: ${parm.sender}</br>Получатель: ${parm.receiver}
|
|
51
|
+
</br>Тема: ${parm.subject}</br>Сообщение: ${parm.message}</h2>`);
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
else
|
|
56
|
+
response.end('<html><body><h1>Error! Visit localhost:5000/</h1></body></html>');
|
|
57
|
+
}).listen(5000, () => console.log('Server running at localhost:5000/\n'));
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
package/05_02.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// информация о пакете nodemailer: npm info nodemailer
|
|
2
|
+
// установка: npm install nodemailer
|
|
3
|
+
// проверка установки: npm list nodemailer
|
|
4
|
+
|
|
5
|
+
const http = require('http');
|
|
6
|
+
const url = require('url');
|
|
7
|
+
const fs = require('fs');
|
|
8
|
+
const { parse } = require('querystring');
|
|
9
|
+
const nodemailer = require('nodemailer');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
http.createServer((request, response) => {
|
|
14
|
+
response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
15
|
+
|
|
16
|
+
if (url.parse(request.url).pathname === '/' && request.method === 'GET')
|
|
17
|
+
{
|
|
18
|
+
response.end(fs.readFileSync('./05-02.html'));
|
|
19
|
+
}
|
|
20
|
+
else if (url.parse(request.url).pathname === '/' && request.method === 'POST')
|
|
21
|
+
{
|
|
22
|
+
let body = '';
|
|
23
|
+
request.on('data', chunk => { body += chunk.toString(); });
|
|
24
|
+
|
|
25
|
+
request.on('end', () => {
|
|
26
|
+
let parm = parse(body);
|
|
27
|
+
const transporter = nodemailer.createTransport({
|
|
28
|
+
host: 'smtp.gmail.com',
|
|
29
|
+
port: 465,
|
|
30
|
+
secure: false,
|
|
31
|
+
service: 'Gmail',
|
|
32
|
+
auth: {
|
|
33
|
+
user: parm.sender,
|
|
34
|
+
pass: parm.password
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
const mailOptions = {
|
|
39
|
+
from: parm.sender,
|
|
40
|
+
to: parm.receiver,
|
|
41
|
+
subject: parm.subject,
|
|
42
|
+
text: parm.message
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
transporter.sendMail(mailOptions, (err, info) => {
|
|
46
|
+
err ? console.log(err) : console.log('Sent: ' + info.response);
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
response.end(`<h2>Отправитель: ${parm.sender}</br>Получатель: ${parm.receiver}
|
|
50
|
+
</br>Тема: ${parm.subject}</br>Сообщение: ${parm.message}</h2>`);
|
|
51
|
+
})
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
else
|
|
55
|
+
response.end('<html><body><h1>Error! Visit localhost:5000/</h1></body></html>');
|
|
56
|
+
}).listen(5000, () => console.log('Server running on http://localhost:5000/\n'));
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
package/05_03.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const http = require('http');
|
|
2
|
+
const send = require('./m06_ZAM.js');
|
|
3
|
+
|
|
4
|
+
http.createServer((request, response) => {
|
|
5
|
+
response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
6
|
+
send('Hello World!');
|
|
7
|
+
response.end('<h2>Message sucessfully sent.</h2>');
|
|
8
|
+
}).listen(5000, () => console.log('Server running on http://localhost:5000/\n'));
|
package/m06_ZAM.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const nodemailer = require('nodemailer');
|
|
2
|
+
|
|
3
|
+
const sender = 'zhukanna67@gmail.com';
|
|
4
|
+
const receiver = 'zhukanna67@gmail.com';
|
|
5
|
+
const password = 'oshf gvdw nsav jmmv';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
const transporter = nodemailer.createTransport({
|
|
9
|
+
host: 'smtp.gmail.com',
|
|
10
|
+
port: 465,
|
|
11
|
+
secure: false,
|
|
12
|
+
service: 'Gmail',
|
|
13
|
+
auth: {
|
|
14
|
+
user: sender,
|
|
15
|
+
pass: password
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
send = (message) =>
|
|
21
|
+
{
|
|
22
|
+
|
|
23
|
+
const mailOptions = {
|
|
24
|
+
from: sender,
|
|
25
|
+
to: receiver,
|
|
26
|
+
subject: 'Module m06_ZAM',
|
|
27
|
+
text: message
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
transporter.sendMail(mailOptions, (err, info) => {
|
|
31
|
+
err ? console.log(err) : console.log('Sent: ' + info.response);
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
module.exports = send;
|
package/package.json
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zam12345",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "lab05",
|
|
5
|
+
"main": "m06_ZAM.js",
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"abs": "^1.3.14",
|
|
8
|
+
"accepts": "^1.3.8",
|
|
9
|
+
"array-flatten": "^1.1.1",
|
|
10
|
+
"body-parser": "^1.20.1",
|
|
11
|
+
"bytes": "^3.1.2",
|
|
12
|
+
"call-bind": "^1.0.2",
|
|
13
|
+
"capture-stack-trace": "^1.0.2",
|
|
14
|
+
"content-disposition": "^0.5.4",
|
|
15
|
+
"content-type": "^1.0.5",
|
|
16
|
+
"cookie": "^0.5.0",
|
|
17
|
+
"cookie-signature": "^1.0.6",
|
|
18
|
+
"core-util-is": "^1.0.3",
|
|
19
|
+
"create-error-class": "^3.0.2",
|
|
20
|
+
"debug": "^2.6.9",
|
|
21
|
+
"deep-extend": "^0.6.0",
|
|
22
|
+
"deffy": "^2.2.4",
|
|
23
|
+
"depd": "^2.0.0",
|
|
24
|
+
"destroy": "^1.2.0",
|
|
25
|
+
"duplexer2": "^0.1.4",
|
|
26
|
+
"ee-first": "^1.1.1",
|
|
27
|
+
"encodeurl": "^1.0.2",
|
|
28
|
+
"err": "^1.1.1",
|
|
29
|
+
"error-ex": "^1.3.2",
|
|
30
|
+
"escape-html": "^1.0.3",
|
|
31
|
+
"etag": "^1.8.1",
|
|
32
|
+
"exec-limiter": "^3.2.13",
|
|
33
|
+
"express": "^4.18.2",
|
|
34
|
+
"finalhandler": "^1.2.0",
|
|
35
|
+
"forwarded": "^0.2.0",
|
|
36
|
+
"fresh": "^0.5.2",
|
|
37
|
+
"function-bind": "^1.1.2",
|
|
38
|
+
"function.name": "^1.0.13",
|
|
39
|
+
"get-intrinsic": "^1.2.1",
|
|
40
|
+
"git-package-json": "^1.4.10",
|
|
41
|
+
"git-source": "^1.1.10",
|
|
42
|
+
"git-up": "^1.2.1",
|
|
43
|
+
"git-url-parse": "^5.0.1",
|
|
44
|
+
"got": "^5.6.0",
|
|
45
|
+
"gry": "^5.0.8",
|
|
46
|
+
"has": "^1.0.4",
|
|
47
|
+
"has-proto": "^1.0.1",
|
|
48
|
+
"has-symbols": "^1.0.3",
|
|
49
|
+
"hasown": "^2.0.0",
|
|
50
|
+
"hosted-git-info": "^2.8.9",
|
|
51
|
+
"http-errors": "^2.0.0",
|
|
52
|
+
"iconv-lite": "^0.4.24",
|
|
53
|
+
"inherits": "^2.0.4",
|
|
54
|
+
"ini": "^1.3.8",
|
|
55
|
+
"ipaddr.js": "^1.9.1",
|
|
56
|
+
"is-arrayish": "^0.2.1",
|
|
57
|
+
"is-core-module": "^2.13.1",
|
|
58
|
+
"is-plain-obj": "^1.1.0",
|
|
59
|
+
"is-redirect": "^1.0.0",
|
|
60
|
+
"is-retry-allowed": "^1.2.0",
|
|
61
|
+
"is-ssh": "^1.4.0",
|
|
62
|
+
"is-stream": "^1.1.0",
|
|
63
|
+
"isarray": "^1.0.0",
|
|
64
|
+
"iterate-object": "^1.3.4",
|
|
65
|
+
"limit-it": "^3.2.10",
|
|
66
|
+
"lowercase-keys": "^1.0.1",
|
|
67
|
+
"media-typer": "^0.3.0",
|
|
68
|
+
"merge-descriptors": "^1.0.1",
|
|
69
|
+
"methods": "^1.1.2",
|
|
70
|
+
"mime": "^1.6.0",
|
|
71
|
+
"mime-db": "^1.52.0",
|
|
72
|
+
"mime-types": "^2.1.35",
|
|
73
|
+
"minimist": "^1.2.8",
|
|
74
|
+
"ms": "^2.0.0",
|
|
75
|
+
"negotiator": "^0.6.3",
|
|
76
|
+
"node-status-codes": "^1.0.0",
|
|
77
|
+
"nodemailer": "^6.9.5",
|
|
78
|
+
"noop6": "^1.0.9",
|
|
79
|
+
"normalize-package-data": "^2.5.0",
|
|
80
|
+
"oargv": "^3.4.10",
|
|
81
|
+
"obj-def": "^1.0.9",
|
|
82
|
+
"object-assign": "^4.1.1",
|
|
83
|
+
"object-inspect": "^1.12.3",
|
|
84
|
+
"on-finished": "^2.4.1",
|
|
85
|
+
"one-by-one": "^3.2.8",
|
|
86
|
+
"os-tmpdir": "^1.0.2",
|
|
87
|
+
"package-json": "^2.4.0",
|
|
88
|
+
"package-json-path": "^1.0.9",
|
|
89
|
+
"package.json": "^2.0.1",
|
|
90
|
+
"parse-json": "^2.2.0",
|
|
91
|
+
"parse-url": "^1.3.11",
|
|
92
|
+
"parseurl": "^1.3.3",
|
|
93
|
+
"path-parse": "^1.0.7",
|
|
94
|
+
"path-to-regexp": "^0.1.7",
|
|
95
|
+
"pinkie": "^2.0.4",
|
|
96
|
+
"pinkie-promise": "^2.0.1",
|
|
97
|
+
"prepend-http": "^1.0.4",
|
|
98
|
+
"process-nextick-args": "^2.0.1",
|
|
99
|
+
"protocols": "^2.0.1",
|
|
100
|
+
"proxy-addr": "^2.0.7",
|
|
101
|
+
"qs": "^6.11.0",
|
|
102
|
+
"r-json": "^1.2.10",
|
|
103
|
+
"r-package-json": "^1.0.9",
|
|
104
|
+
"range-parser": "^1.2.1",
|
|
105
|
+
"raw-body": "^2.5.1",
|
|
106
|
+
"rc": "^1.2.8",
|
|
107
|
+
"read-all-stream": "^3.1.0",
|
|
108
|
+
"readable-stream": "^2.3.8",
|
|
109
|
+
"registry-auth-token": "^3.4.0",
|
|
110
|
+
"registry-url": "^3.1.0",
|
|
111
|
+
"resolve": "^1.22.8",
|
|
112
|
+
"safe-buffer": "^5.2.1",
|
|
113
|
+
"safer-buffer": "^2.1.2",
|
|
114
|
+
"semver": "^5.7.2",
|
|
115
|
+
"send": "^0.18.0",
|
|
116
|
+
"serve-static": "^1.15.0",
|
|
117
|
+
"setprototypeof": "^1.2.0",
|
|
118
|
+
"side-channel": "^1.0.4",
|
|
119
|
+
"sliced": "^1.0.1",
|
|
120
|
+
"spdx-correct": "^3.2.0",
|
|
121
|
+
"spdx-exceptions": "^2.3.0",
|
|
122
|
+
"spdx-expression-parse": "^3.0.1",
|
|
123
|
+
"spdx-license-ids": "^3.0.16",
|
|
124
|
+
"statuses": "^2.0.1",
|
|
125
|
+
"string_decoder": "^1.1.1",
|
|
126
|
+
"strip-json-comments": "^2.0.1",
|
|
127
|
+
"supports-preserve-symlinks-flag": "^1.0.0",
|
|
128
|
+
"timed-out": "^2.0.0",
|
|
129
|
+
"tmp": "^0.0.28",
|
|
130
|
+
"toidentifier": "^1.0.1",
|
|
131
|
+
"type-is": "^1.6.18",
|
|
132
|
+
"typpy": "^2.3.13",
|
|
133
|
+
"ul": "^5.2.15",
|
|
134
|
+
"unpipe": "^1.0.0",
|
|
135
|
+
"unzip-response": "^1.0.2",
|
|
136
|
+
"url-parse-lax": "^1.0.0",
|
|
137
|
+
"util-deprecate": "^1.0.2",
|
|
138
|
+
"utils-merge": "^1.0.1",
|
|
139
|
+
"validate-npm-package-license": "^3.0.4",
|
|
140
|
+
"vary": "^1.1.2",
|
|
141
|
+
"zam": "^0.6.8"
|
|
142
|
+
},
|
|
143
|
+
"devDependencies": {},
|
|
144
|
+
"scripts": {
|
|
145
|
+
"test": "test"
|
|
146
|
+
},
|
|
147
|
+
"repository": {
|
|
148
|
+
"type": "git",
|
|
149
|
+
"url": "git"
|
|
150
|
+
},
|
|
151
|
+
"author": "Zhuk Anna",
|
|
152
|
+
"license": "ISC"
|
|
153
|
+
}
|
|
Binary file
|