m06_avd 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.
- package/06-02.js +54 -0
- package/06-03.html +57 -0
- package/06-03.js +40 -0
- package/index.html +51 -0
- package/m06_AVD.js +27 -0
- package/package.json +16 -0
package/06-02.js
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
const http = require('http');
|
2
|
+
const url = require('url');
|
3
|
+
const fs = require('fs');
|
4
|
+
const { parse } = require('querystring');
|
5
|
+
const nodemailer = require('nodemailer');
|
6
|
+
const sendmail = require('sendmail')
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
http.createServer((request, response) => {
|
11
|
+
response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
12
|
+
|
13
|
+
if (url.parse(request.url).pathname === '/' && request.method === 'GET')
|
14
|
+
{
|
15
|
+
response.end(fs.readFileSync('./index.html'));
|
16
|
+
}
|
17
|
+
else if (url.parse(request.url).pathname === '/' && request.method === 'POST')
|
18
|
+
{
|
19
|
+
let body = '';
|
20
|
+
request.on('data', chunk => { body += chunk.toString(); });
|
21
|
+
|
22
|
+
request.on('end', () => {
|
23
|
+
let parm = parse(body);
|
24
|
+
|
25
|
+
const transporter = nodemailer.createTransport({
|
26
|
+
host: 'smtp.mail.ru',
|
27
|
+
port: 587,
|
28
|
+
secure: false,
|
29
|
+
auth: {
|
30
|
+
user: parm.sender,
|
31
|
+
pass: parm.password
|
32
|
+
}
|
33
|
+
});
|
34
|
+
|
35
|
+
const mailOptions = {
|
36
|
+
from: parm.sender,
|
37
|
+
to: parm.receiver,
|
38
|
+
text: parm.message
|
39
|
+
}
|
40
|
+
|
41
|
+
transporter.sendMail(mailOptions, (err, info) => {
|
42
|
+
err ? console.log(err) : console.log('Sent: ' + info.response);
|
43
|
+
})
|
44
|
+
|
45
|
+
response.end(`<h2>Отправитель: ${parm.sender}</br>Получатель: ${parm.receiver}
|
46
|
+
</br>Сообщение: ${parm.message}</h2>`);
|
47
|
+
})
|
48
|
+
}
|
49
|
+
|
50
|
+
else
|
51
|
+
response.end('<html><body><h1>Error! Visit localhost:5000/</h1></body></html>');
|
52
|
+
}).listen(5000, () => console.log('Server running at localhost:5000/\n'));
|
53
|
+
|
54
|
+
///rtKrVy1nMbsgALmeXQv6
|
package/06-03.html
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
<style type="text/css">
|
7
|
+
* {
|
8
|
+
background-color: #2f2f2f;
|
9
|
+
font-family: Verdana, Geneva, Tahoma, sans-serif;
|
10
|
+
color: whitesmoke;
|
11
|
+
}
|
12
|
+
|
13
|
+
.arr {
|
14
|
+
text-align: center;
|
15
|
+
}
|
16
|
+
|
17
|
+
|
18
|
+
</style>
|
19
|
+
|
20
|
+
</head>
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
<body>
|
25
|
+
<div id="container">
|
26
|
+
<form action="http://localhost:5000/" method="POST">
|
27
|
+
<table id="container_table">
|
28
|
+
|
29
|
+
|
30
|
+
<tr>
|
31
|
+
<td>Отправитель</td>
|
32
|
+
<td><input id="sender" type="email" name="sender" placeholder="Ваш e-mail"></td>
|
33
|
+
</tr>
|
34
|
+
|
35
|
+
<tr>
|
36
|
+
<td>Пароль</td>
|
37
|
+
<td><input id="password" type="password" name="password" placeholder="Ваш пароль"></td>
|
38
|
+
</tr>
|
39
|
+
|
40
|
+
<tr>
|
41
|
+
<td>Получатель</td>
|
42
|
+
<td><input id="receiver" type="email" name="receiver" placeholder="E-mail получателя"></td>
|
43
|
+
</tr>
|
44
|
+
|
45
|
+
<tr>
|
46
|
+
<td>Сообщение</td>
|
47
|
+
<td><input id="message" type="text" name="message" placeholder="Ваше сообщение"></td>
|
48
|
+
</tr>
|
49
|
+
</table>
|
50
|
+
</table>
|
51
|
+
|
52
|
+
<button type="submit">Отправить</button>
|
53
|
+
</form>
|
54
|
+
</div>
|
55
|
+
|
56
|
+
</body>
|
57
|
+
</html>
|
package/06-03.js
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
const http = require('http');
|
2
|
+
const send = require('./m06_AVD.js');
|
3
|
+
const fs = require('fs');
|
4
|
+
const { parse } = require('querystring');
|
5
|
+
const url = require('url');
|
6
|
+
|
7
|
+
http.createServer((request, response) => {
|
8
|
+
response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
9
|
+
|
10
|
+
if (url.parse(request.url).pathname === '/' && request.method === 'GET')
|
11
|
+
{
|
12
|
+
response.end(fs.readFileSync('./06-03.html'));
|
13
|
+
}
|
14
|
+
else if (url.parse(request.url).pathname === '/' && request.method === 'POST')
|
15
|
+
{
|
16
|
+
let body = '';
|
17
|
+
request.on('data', chunk => { body += chunk.toString(); });
|
18
|
+
|
19
|
+
request.on('end', () => {
|
20
|
+
let parm = parse(body);
|
21
|
+
|
22
|
+
var message1 = "";
|
23
|
+
var rec = parm.receiver
|
24
|
+
var sen = parm.sender;
|
25
|
+
var pass = parm.password;
|
26
|
+
message1 = parm.message;
|
27
|
+
console.log(message1);
|
28
|
+
send(sen, pass, message1, rec);
|
29
|
+
|
30
|
+
|
31
|
+
response.end(`<h2>Отправитель: ${parm.sender}</br>Получатель: ${parm.receiver}
|
32
|
+
</br>Сообщение: ${parm.message}</h2>`);
|
33
|
+
})
|
34
|
+
}
|
35
|
+
else
|
36
|
+
response.end('<html><body><h1>Error! Visit localhost:5000/</h1></body></html>');
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
}).listen(5000, () => console.log('Server running at localhost:5000/\n'));
|
package/index.html
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
<style type="text/css">
|
7
|
+
* {
|
8
|
+
background-color: #2f2f2f;
|
9
|
+
font-family: Verdana, Geneva, Tahoma, sans-serif;
|
10
|
+
color: whitesmoke;
|
11
|
+
}
|
12
|
+
|
13
|
+
.arr {
|
14
|
+
text-align: center;
|
15
|
+
}
|
16
|
+
|
17
|
+
</style>
|
18
|
+
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<body>
|
22
|
+
<div id="container">
|
23
|
+
<form action="http://localhost:5000/" method="POST">
|
24
|
+
<table id="container_table">
|
25
|
+
<tr>
|
26
|
+
<td>Отправитель</td>
|
27
|
+
<td><input id="sender" type="email" name="sender" placeholder="Ваш e-mail"></td>
|
28
|
+
</tr>
|
29
|
+
|
30
|
+
<tr>
|
31
|
+
<td>Пароль</td>
|
32
|
+
<td><input id="password" type="password" name="password" placeholder="Ваш пароль"></td>
|
33
|
+
</tr>
|
34
|
+
|
35
|
+
<tr>
|
36
|
+
<td>Получатель</td>
|
37
|
+
<td><input id="receiver" type="email" name="receiver" placeholder="E-mail получателя"></td>
|
38
|
+
</tr>
|
39
|
+
|
40
|
+
<tr>
|
41
|
+
<td>Сообщение</td>
|
42
|
+
<td><input id="message" type="text" name="message" placeholder="Ваше сообщение"></td>
|
43
|
+
</tr>
|
44
|
+
</table>
|
45
|
+
|
46
|
+
<button type="submit">Отправить</button>
|
47
|
+
</form>
|
48
|
+
</div>
|
49
|
+
|
50
|
+
</body>
|
51
|
+
</html>
|
package/m06_AVD.js
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
const nodemailer = require('nodemailer');
|
2
|
+
|
3
|
+
|
4
|
+
send = (sender, password, message, receiver) =>
|
5
|
+
{
|
6
|
+
|
7
|
+
const mailOptions = {
|
8
|
+
from: sender,
|
9
|
+
to: receiver,
|
10
|
+
text: message
|
11
|
+
}
|
12
|
+
|
13
|
+
const transporter = nodemailer.createTransport({
|
14
|
+
host: 'smtp.mail.ru',
|
15
|
+
port: 587,
|
16
|
+
secure: false,
|
17
|
+
auth: {
|
18
|
+
user: sender,
|
19
|
+
pass: password
|
20
|
+
}
|
21
|
+
});
|
22
|
+
transporter.sendMail(mailOptions, (err, info) => {
|
23
|
+
err ? console.log(err) : console.log('Sent: ' + info.response);
|
24
|
+
})
|
25
|
+
}
|
26
|
+
|
27
|
+
module.exports = send;
|
package/package.json
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
{
|
2
|
+
"dependencies": {
|
3
|
+
"nodemailer": "^6.9.7",
|
4
|
+
"sendmail": "^1.6.1"
|
5
|
+
},
|
6
|
+
"name": "m06_avd",
|
7
|
+
"version": "1.0.0",
|
8
|
+
"main": "m06_AVD.js",
|
9
|
+
"devDependencies": {},
|
10
|
+
"scripts": {
|
11
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
12
|
+
},
|
13
|
+
"author": "verok",
|
14
|
+
"license": "ISC",
|
15
|
+
"description": ""
|
16
|
+
}
|