lilshum5labnodejsbstu 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.

Potentially problematic release.


This version of lilshum5labnodejsbstu might be problematic. Click here for more details.

@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="JavaScriptLibraryMappings">
4
+ <includedPredefinedLibrary name="Node.js Core" />
5
+ </component>
6
+ </project>
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>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/lab5.iml" filepath="$PROJECT_DIR$/.idea/lab5.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
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
@@ -0,0 +1,8 @@
1
+ const send = require('./m06_SNA');
2
+ const http = require('http');
3
+
4
+ http.createServer((req, res) => {
5
+ let message = "Hello!"
6
+ send("nodelabsbstu@yandex.ru",message);
7
+ res.end(`<h1>${message}</h1>`)
8
+ }).listen(5000);
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;