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 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
+ }