m0603_evg_spr 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of m0603_evg_spr might be problematic. Click here for more details.
- package/06-02.html +35 -0
- package/06-02.js +55 -0
- package/06-03.js +3 -0
- package/m06-03.js +34 -0
- package/node_lab06/06-02.html +68 -0
- package/node_lab06/06-02.js +52 -0
- package/node_lab06/06-03.js +3 -0
- package/node_lab06/06-04.js +3 -0
- package/node_lab06/m0603.js +28 -0
- package/node_lab06/node_modules/.package-lock.json +6 -0
- package/node_lab06/package/index.js +28 -0
- package/node_lab06/package/package.json +23 -0
- package/node_lab06/package-lock.json +6 -0
- package/node_lab06/package.json +1 -0
- package/package.json +25 -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_06.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_06.pdf +0 -0
package/06-02.html
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<title>Node 06-02</title>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
<h1>task 06-02</h1>
|
9
|
+
<form action="http://localhost:5000/" method="POST">
|
10
|
+
<div class="row">
|
11
|
+
<label>Sender:</label><br>
|
12
|
+
<input type="email" name="sender" required/>
|
13
|
+
</div>
|
14
|
+
<div class="row">
|
15
|
+
<label>Password:</label><br>
|
16
|
+
<input type="password" name="password" required/>
|
17
|
+
</div>
|
18
|
+
<div class="row">
|
19
|
+
<label>Receiver</label><br>
|
20
|
+
<input type="email" name="receiver" required/>
|
21
|
+
</div>
|
22
|
+
<div class="row">
|
23
|
+
<label>Subject:</label><br>
|
24
|
+
<input type="text" name="subject" required/>
|
25
|
+
</div>
|
26
|
+
<div class="row">
|
27
|
+
<label>Your message:</label><br>
|
28
|
+
<input type="text" name="message" required/>
|
29
|
+
</div>
|
30
|
+
<div>
|
31
|
+
<button type="submit">Send message</button>
|
32
|
+
</div>
|
33
|
+
</form>
|
34
|
+
</body>
|
35
|
+
</html>
|
package/06-02.js
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
const http = require('http');
|
2
|
+
const fs = require('fs');
|
3
|
+
const url = require('url');
|
4
|
+
const { parse } = require('querystring');
|
5
|
+
|
6
|
+
const nodemailer = require('nodemailer');
|
7
|
+
|
8
|
+
let server = http.createServer(function (request, response) {
|
9
|
+
if (url.parse(request.url).pathname === '/' && request.method === 'GET') {
|
10
|
+
response.writeHead(200, {'Content-Type' : 'text/html; charset=utf-8'});
|
11
|
+
response.end(fs.readFileSync('./06-02.html'))
|
12
|
+
}
|
13
|
+
else if (url.parse(request.url).pathname === '/' && request.method === 'POST') {
|
14
|
+
let body = '';
|
15
|
+
request.on('data', chunk => { body += chunk.toString(); });
|
16
|
+
request.on('end', () => {
|
17
|
+
let parm = parse(body);
|
18
|
+
|
19
|
+
var transporter = nodemailer.createTransport({
|
20
|
+
service: "Outlook365",
|
21
|
+
host: "smtp.office365.com",
|
22
|
+
port: "587",
|
23
|
+
tls: {
|
24
|
+
ciphers: "SSLv3",
|
25
|
+
rejectUnauthorized: false,
|
26
|
+
},
|
27
|
+
auth: {
|
28
|
+
user: parm.sender,
|
29
|
+
pass: parm.password,
|
30
|
+
},
|
31
|
+
});
|
32
|
+
|
33
|
+
const options = {
|
34
|
+
from: parm.sender,
|
35
|
+
to: parm.receiver,
|
36
|
+
subject: parm.subject,
|
37
|
+
text: parm.message,
|
38
|
+
}
|
39
|
+
|
40
|
+
transporter.sendMail(options, (err, info) => {
|
41
|
+
if(err) {
|
42
|
+
console.log(err);
|
43
|
+
return;
|
44
|
+
}
|
45
|
+
console.log("Sent: " + info.response);
|
46
|
+
})
|
47
|
+
|
48
|
+
response.writeHead(200, {'Content-Type' : 'text/html; charset=utf-8'});
|
49
|
+
response.end(`<h1>Sent from ${parm.sender} to ${parm.receiver}: ${parm.message}</h1>`);
|
50
|
+
})
|
51
|
+
}
|
52
|
+
else response.end('<h1>something is wrong</h1>');
|
53
|
+
}).listen(5000);
|
54
|
+
|
55
|
+
console.log('Server running at http://localhost:5000/');
|
package/06-03.js
ADDED
package/m06-03.js
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
const nodemailer = require('nodemailer');
|
2
|
+
|
3
|
+
var transporter = nodemailer.createTransport({
|
4
|
+
service: "Outlook365",
|
5
|
+
host: "smtp.office365.com",
|
6
|
+
port: "587",
|
7
|
+
tls: {
|
8
|
+
ciphers: "SSLv3",
|
9
|
+
rejectUnauthorized: false,
|
10
|
+
},
|
11
|
+
auth: {
|
12
|
+
user: "evgeny_super@outlook.com",
|
13
|
+
pass: "pyhileumbddwmcmj",
|
14
|
+
},
|
15
|
+
});
|
16
|
+
|
17
|
+
function send(message) {
|
18
|
+
const options = {
|
19
|
+
from: "evgeny_super@outlook.com",
|
20
|
+
to: "evgeny_super@outlook.com",
|
21
|
+
subject: "06-03",
|
22
|
+
text: message,
|
23
|
+
}
|
24
|
+
|
25
|
+
transporter.sendMail(options, (err, info) => {
|
26
|
+
if(err) {
|
27
|
+
console.log(err);
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
console.log("Sent: " + info.response);
|
31
|
+
})
|
32
|
+
}
|
33
|
+
|
34
|
+
module.exports = send;
|
@@ -0,0 +1,68 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<title>Node 04-02</title>
|
6
|
+
<style type="text/css">
|
7
|
+
* {
|
8
|
+
color: #011627;
|
9
|
+
background-color: #f5f5f5;
|
10
|
+
text-align: center;
|
11
|
+
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
|
12
|
+
}
|
13
|
+
button {
|
14
|
+
background-color:#ffc857;
|
15
|
+
border: none;
|
16
|
+
color: white;
|
17
|
+
padding: 8px 15px;
|
18
|
+
text-align: center;
|
19
|
+
font-size: 14pt;
|
20
|
+
border-radius: 10px;
|
21
|
+
}
|
22
|
+
#status {
|
23
|
+
margin: auto;
|
24
|
+
margin-top: 10px;
|
25
|
+
padding: 10px;
|
26
|
+
width: fit-content;
|
27
|
+
border-radius: 10px;
|
28
|
+
border: 3px solid #8980f5;
|
29
|
+
text-align: center;
|
30
|
+
display: none;
|
31
|
+
padding: 10px 20px;
|
32
|
+
max-width: 600px;
|
33
|
+
}
|
34
|
+
.row {
|
35
|
+
margin-bottom: 20px;
|
36
|
+
}
|
37
|
+
</style>
|
38
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
|
39
|
+
</head>
|
40
|
+
<body>
|
41
|
+
<h1>task 06-02</h1>
|
42
|
+
<form action="http://localhost:5000/" method="POST">
|
43
|
+
<div class="row">
|
44
|
+
<label>Sender:</label><br>
|
45
|
+
<input type="email" name="sender" required/>
|
46
|
+
</div>
|
47
|
+
<div class="row">
|
48
|
+
<label>Password:</label><br>
|
49
|
+
<input type="password" name="password" required/>
|
50
|
+
</div>
|
51
|
+
<div class="row">
|
52
|
+
<label>Receiver</label><br>
|
53
|
+
<input type="email" name="receiver" required/>
|
54
|
+
</div>
|
55
|
+
<div class="row">
|
56
|
+
<label>Subject:</label><br>
|
57
|
+
<input type="text" name="subject" required/>
|
58
|
+
</div>
|
59
|
+
<div class="row">
|
60
|
+
<label>Your message:</label><br>
|
61
|
+
<input type="text" name="message" required/>
|
62
|
+
</div>
|
63
|
+
<div>
|
64
|
+
<button type="submit">Send message</button>
|
65
|
+
</div>
|
66
|
+
</form>
|
67
|
+
</body>
|
68
|
+
</html>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
const http = require('http');
|
2
|
+
const fs = require('fs');
|
3
|
+
const url = require('url');
|
4
|
+
const { parse } = require('querystring');
|
5
|
+
|
6
|
+
const nodemailer = require('nodemailer');
|
7
|
+
|
8
|
+
let server = http.createServer(function (request, response) {
|
9
|
+
if (url.parse(request.url).pathname === '/' && request.method === 'GET') {
|
10
|
+
response.writeHead(200, {'Content-Type' : 'text/html; charset=utf-8'});
|
11
|
+
response.end(fs.readFileSync('./06-02.html'))
|
12
|
+
}
|
13
|
+
else if (url.parse(request.url).pathname === '/' && request.method === 'POST') {
|
14
|
+
let body = '';
|
15
|
+
request.on('data', chunk => { body += chunk.toString(); });
|
16
|
+
request.on('end', () => {
|
17
|
+
let parm = parse(body);
|
18
|
+
|
19
|
+
// чтобы можно было отправить с гугловской почты: включить функцию по ссылке
|
20
|
+
// https://myaccount.google.com/lesssecureapps
|
21
|
+
|
22
|
+
const transporter = nodemailer.createTransport({
|
23
|
+
service: "Gmail",
|
24
|
+
auth: {
|
25
|
+
user: parm.sender,
|
26
|
+
pass: parm.password,
|
27
|
+
},
|
28
|
+
});
|
29
|
+
|
30
|
+
const options = {
|
31
|
+
from: parm.sender,
|
32
|
+
to: parm.receiver,
|
33
|
+
subject: parm.subject,
|
34
|
+
text: parm.message,
|
35
|
+
}
|
36
|
+
|
37
|
+
transporter.sendMail(options, (err, info) => {
|
38
|
+
if(err) {
|
39
|
+
console.log(err);
|
40
|
+
return;
|
41
|
+
}
|
42
|
+
console.log("Sent: " + info.response);
|
43
|
+
})
|
44
|
+
|
45
|
+
response.writeHead(200, {'Content-Type' : 'text/html; charset=utf-8'});
|
46
|
+
response.end(`<h1>Sent from ${parm.sender} to ${parm.receiver}: ${parm.message}</h1>`);
|
47
|
+
})
|
48
|
+
}
|
49
|
+
else response.end('<h1>something is wrong</h1>');
|
50
|
+
}).listen(5000);
|
51
|
+
|
52
|
+
console.log('Server running at http://localhost:5000/');
|
@@ -0,0 +1,28 @@
|
|
1
|
+
const nodemailer = require('nodemailer');
|
2
|
+
|
3
|
+
const transporter = nodemailer.createTransport({
|
4
|
+
service: "Gmail",
|
5
|
+
auth: {
|
6
|
+
user: "email1@gmail.com",
|
7
|
+
pass: "pass",
|
8
|
+
},
|
9
|
+
});
|
10
|
+
|
11
|
+
function send(message) {
|
12
|
+
const options = {
|
13
|
+
from: "email1@gmail.com",
|
14
|
+
to: "email2@gmail.com",
|
15
|
+
subject: "06-03",
|
16
|
+
text: message,
|
17
|
+
}
|
18
|
+
|
19
|
+
transporter.sendMail(options, (err, info) => {
|
20
|
+
if(err) {
|
21
|
+
console.log(err);
|
22
|
+
return;
|
23
|
+
}
|
24
|
+
console.log("Sent: " + info.response);
|
25
|
+
})
|
26
|
+
}
|
27
|
+
|
28
|
+
module.exports = send;
|
@@ -0,0 +1,28 @@
|
|
1
|
+
const nodemailer = require('nodemailer');
|
2
|
+
|
3
|
+
const transporter = nodemailer.createTransport({
|
4
|
+
service: "Gmail",
|
5
|
+
auth: {
|
6
|
+
user: "email1@gmail.com",
|
7
|
+
pass: "pass",
|
8
|
+
},
|
9
|
+
});
|
10
|
+
|
11
|
+
function send(message) {
|
12
|
+
const options = {
|
13
|
+
from: "email1@gmail.com",
|
14
|
+
to: "email2@gmail.com",
|
15
|
+
subject: "06-03",
|
16
|
+
text: message,
|
17
|
+
}
|
18
|
+
|
19
|
+
transporter.sendMail(options, (err, info) => {
|
20
|
+
if(err) {
|
21
|
+
console.log(err);
|
22
|
+
return;
|
23
|
+
}
|
24
|
+
console.log("Sent: " + info.response);
|
25
|
+
})
|
26
|
+
}
|
27
|
+
|
28
|
+
module.exports = send;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"name": "@moony_bilcherry/m0603",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"description": "task 06-04: a function to send messages between specified emails",
|
5
|
+
"main": "index.js",
|
6
|
+
"scripts": {
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
8
|
+
},
|
9
|
+
"repository": {
|
10
|
+
"type": "git",
|
11
|
+
"url": "git+https://github.com/moony-bilcherry/Node_5_sem.git"
|
12
|
+
},
|
13
|
+
"keywords": [
|
14
|
+
"m0603",
|
15
|
+
"belstu"
|
16
|
+
],
|
17
|
+
"author": "moony",
|
18
|
+
"license": "ISC",
|
19
|
+
"bugs": {
|
20
|
+
"url": "https://github.com/moony-bilcherry/Node_5_sem/issues"
|
21
|
+
},
|
22
|
+
"homepage": "https://github.com/moony-bilcherry/Node_5_sem#readme"
|
23
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{}
|
package/package.json
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"dependencies": {
|
3
|
+
"nodemailer": "^6.8.0"
|
4
|
+
},
|
5
|
+
"name": "m0603_evg_spr",
|
6
|
+
"version": "1.0.1",
|
7
|
+
"description": "Send email to me.",
|
8
|
+
"main": "m06-03.js",
|
9
|
+
"devDependencies": {},
|
10
|
+
"scripts": {
|
11
|
+
"test": "test"
|
12
|
+
},
|
13
|
+
"repository": {
|
14
|
+
"type": "git",
|
15
|
+
"url": "test"
|
16
|
+
},
|
17
|
+
"keywords": [
|
18
|
+
"Send",
|
19
|
+
"email",
|
20
|
+
"using",
|
21
|
+
"nodemailer."
|
22
|
+
],
|
23
|
+
"author": "Evgeny Super",
|
24
|
+
"license": "ISC"
|
25
|
+
}
|
Binary file
|