m06_avd 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
}
|