Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Использую nodemailer для отправки на почту, ничего не приходит в ответ выдает ошибку 404. Ниже приведена структура каталогов
- Структура
- node_modules
- public
- views
- layouts
- main.handlebars
- feedback.handlebars
- home.handlebars
- main.handlebars
- <!doctype html>
- <html lang="en">
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport"
- content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Web Приложение</title>
- </head>
- <body>
- <header>
- <img class="logo" src="" alt="">
- <nav class="menu">
- <ul class="menu__list">
- <li class="menu__item"><a href="/" class="menu__link">Главная</a></li>
- <li class="menu__item"><a href="/feedback/" class="menu__link">Обратная связь</a></li>
- </ul>
- </nav>
- </header>
- {{{body}}}
- </body>
- </html>
- home.handlebars
- <h1>Обратная связь</h1>
- <div class="container">
- <form method="post" name="feedback" id="feedback" action="">
- <fieldset>
- <div class="form-group row">
- <div class="col-2 col-form-label">
- <label for="">Ваше Имя:</label>
- </div>
- <div class="col-sm-10">
- <input class="form-control" type="text" name="username">
- </div>
- </div>
- <div class="form-group row">
- <div class="col-2 col-form-label">
- <label for="">E-mail:</label>
- </div>
- <div class="col-sm-10">
- <input class="form-control" type="email" name="email" id="">
- </div>
- </div>
- <div class="form-group row">
- <div class="col-2 col-form-label">
- <label for="">Номер телефона:</label>
- </div>
- <div class="col-sm-10">
- <input class="form-control" type="tel" name="phone" id="">
- </div>
- </div>
- <div class="form-group row">
- <div class="col-2 col-form-label">
- <label for="">Сообщение:</label>
- </div>
- <div class="col-sm-10">
- <textarea class="form-control" name="message" id="" cols="30" rows="10"></textarea>
- </div>
- </div>
- <div class="form-group row">
- <div class="col-2 col-form-label">
- </div>
- <div class="col-sm-10">
- <input type="submit" class="btn btn-primary " value="Отправить">
- </div>
- </div>
- </fieldset>
- </form>
- </div>
- package.json
- {
- "name": "mysite",
- "version": "1.0.0",
- "description": "",
- "main": "server.js",
- "scripts": {
- "test": "echo "Error: no test specified" && exit 1",
- "start": "node server.js"
- },
- "author": "",
- "license": "ISC",
- "dependencies": {
- "body-parser": "^1.17.2",
- "cookie-parser": "^1.4.3",
- "express": "^4.15.3",
- "express-handlebars": "^3.0.0",
- "express-session": "^1.15.3",
- "formidable": "^1.1.1",
- "mailparser": "^2.0.5",
- "nodemailer": "^4.0.1",
- "sendgrid": "^5.1.2",
- "xoauth2": "^1.2.0"
- }
- }
- server.js
- const express = require('express');
- const bodyParser = require('body-parser');
- const nodemailer = require('nodemailer');
- const app = express();
- const handlebars = require('express-handlebars').create({
- defaultLayout: 'main'
- });
- const urlencodedparser = bodyParser.urlencoded({extended: false})
- app.engine('handlebars', handlebars.engine);
- app.set('view engine', 'handlebars');
- app.set('port', process.env.PORT || 3000);
- app.use(express.static(__dirname + '/public'));
- app.get('/', function (req, res) {
- res.render('home');
- });
- app.get('/feedback', function (req, res) {
- res.render('feedback')
- });
- app.post('/feedback', urlencodedparser, function (req, res) {
- var mailOpts, smtpTrans
- smtpTrans = nodemailer.createTransport('SMTP', {
- service: 'Yandex',
- host: 'smtp.yandex.ru',
- port: 465,
- secure: true,
- auth: {
- user: 'mymail@yandex.ru',
- pass: 'mypass'
- }
- });
- mailOpts = {
- from: req.query.username + ' <' + req.query.email + '>' +
- req.query.phone + '>',
- to: 'radik.machete@gmail.com',
- subject: 'Обратная связь',
- text: req.query.message
- };
- smtpTrans.sendMail(mailOpts, function (err, res) {
- if (err) {
- console.log('Ошибка');
- } else {
- console.log('Почта отправлена');
- }
- });
- })
- app.use(function (req, res) {
- res.status(404);
- res.send('404');
- });
- app.use(function (err, req, res, next) {
- console.error(err.stack);
- res.status(500);
- res.render('500');
- });
- app.listen(app.get('port'), function () {
- console.log('Приложение запущено на http://localhost:' +
- app.get('port'));
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement