lilshum5labnodejsbstu 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of lilshum5labnodejsbstu might be problematic. Click here for more details.
- package/.idea/jsLibraryMappings.xml +6 -0
- package/.idea/lab5.iml +12 -0
- package/.idea/modules.xml +8 -0
- package/06-02.js +24 -0
- package/06-03.js +8 -0
- package/index.html +25 -0
- package/m06_SNA.js +30 -0
- package/package.json +17 -0
- package/sender.js +26 -0
package/.idea/lab5.iml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<module type="WEB_MODULE" version="4">
|
3
|
+
<component name="NewModuleRootManager">
|
4
|
+
<content url="file://$MODULE_DIR$">
|
5
|
+
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
6
|
+
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
7
|
+
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
8
|
+
</content>
|
9
|
+
<orderEntry type="inheritedJdk" />
|
10
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
11
|
+
</component>
|
12
|
+
</module>
|
package/06-02.js
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
const sendMessage = require('./sender');
|
2
|
+
const http = require("http");
|
3
|
+
const fs = require("fs");
|
4
|
+
const queryString = require('querystring');
|
5
|
+
const querystring = require("querystring");
|
6
|
+
|
7
|
+
const password = "nszgcthayztzklcw";
|
8
|
+
|
9
|
+
http.createServer((req, res) => {
|
10
|
+
if(req.method === "GET" && req.url === "/") {
|
11
|
+
let html = fs.readFileSync("index.html");
|
12
|
+
res.end(html);
|
13
|
+
}
|
14
|
+
else if(req.method === "POST" && req.url === '/sender-email') {
|
15
|
+
let data = "";
|
16
|
+
req.on("data", chunk => data += chunk.toString());
|
17
|
+
req.on("end", ()=>{
|
18
|
+
const parsedData = querystring.parse(data);
|
19
|
+
let {sender, receiver, subject, message} = parsedData;
|
20
|
+
sendMessage(sender, receiver, subject, message, password);
|
21
|
+
res.end(`Message sent: sender: ${sender} receiver: ${receiver}\n`);
|
22
|
+
})
|
23
|
+
}
|
24
|
+
}).listen(5000);
|
package/06-03.js
ADDED
package/index.html
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>Email Sender</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<form action="/sender-email" method="post">
|
10
|
+
<label for="sender">Email отправителя:</label>
|
11
|
+
<input type="email" id="sender" name="sender" required>
|
12
|
+
<br>
|
13
|
+
<label for="receiver">Email получателя:</label>
|
14
|
+
<input type="email" id="receiver" name="receiver" required>
|
15
|
+
<br>
|
16
|
+
<label for="subject">Тема письма:</label>
|
17
|
+
<input type="text" id="subject" name="subject" required>
|
18
|
+
<br>
|
19
|
+
<label for="message">Сообщение:</label>
|
20
|
+
<textarea id="message" name="message" required></textarea>
|
21
|
+
<br>
|
22
|
+
<button type="submit">Отправить</button>
|
23
|
+
</form>
|
24
|
+
</body>
|
25
|
+
</html>
|
package/m06_SNA.js
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
const nodemailer = require('nodemailer');
|
2
|
+
const smtpTransport = require("nodemailer-smtp-transport");
|
3
|
+
function send(email, message, password = "nszgcthayztzklcw") {
|
4
|
+
const transporter = nodemailer.createTransport(smtpTransport({
|
5
|
+
host: "smtp.yandex.ru",
|
6
|
+
port: 465,
|
7
|
+
secure: true,
|
8
|
+
auth: {
|
9
|
+
user: email,
|
10
|
+
pass: password,
|
11
|
+
}
|
12
|
+
}));
|
13
|
+
const mailOption = {
|
14
|
+
from: email,
|
15
|
+
to: email,
|
16
|
+
subject: "SNA_MESSAGE",
|
17
|
+
text: message,
|
18
|
+
html: `<h1>${message}</h1>`
|
19
|
+
}
|
20
|
+
return transporter.sendMail(mailOption)
|
21
|
+
.then(() => {
|
22
|
+
console.log('Email sent successfully');
|
23
|
+
})
|
24
|
+
.catch(error => {
|
25
|
+
console.error('Error sending email:', error);
|
26
|
+
});
|
27
|
+
}
|
28
|
+
|
29
|
+
module.exports = send;
|
30
|
+
|
package/package.json
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"name": "lilshum5labnodejsbstu",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"description": "",
|
5
|
+
"main": "index.js",
|
6
|
+
"scripts": {
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
8
|
+
},
|
9
|
+
"keywords": [],
|
10
|
+
"author": "",
|
11
|
+
"license": "ISC",
|
12
|
+
"dependencies": {
|
13
|
+
"nodemailer": "^6.9.5",
|
14
|
+
"nodemailer-smtp-transport": "^2.7.4",
|
15
|
+
"qs": "^6.11.2"
|
16
|
+
}
|
17
|
+
}
|
package/sender.js
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
const nodemailer = require('nodemailer');
|
2
|
+
const smtpTransport = require("nodemailer-smtp-transport");
|
3
|
+
|
4
|
+
function sendMessage(sender,receiver, subject, message, password) {
|
5
|
+
const transporter = nodemailer.createTransport(smtpTransport({
|
6
|
+
|
7
|
+
host: 'smtp.yandex.ru',
|
8
|
+
port: 465,
|
9
|
+
secure: true,
|
10
|
+
auth: {
|
11
|
+
user: sender,
|
12
|
+
pass: password
|
13
|
+
}
|
14
|
+
}));
|
15
|
+
|
16
|
+
const mailOption = {
|
17
|
+
from: sender,
|
18
|
+
to: receiver,
|
19
|
+
subject: subject,
|
20
|
+
text: message,
|
21
|
+
html: `<h1>${message}</h1>`
|
22
|
+
}
|
23
|
+
transporter.sendMail(mailOption)
|
24
|
+
}
|
25
|
+
|
26
|
+
module.exports = sendMessage;
|