Тайм-аут соединения на Angular и NodeJS - PullRequest
0 голосов
/ 13 марта 2019

У меня есть некоторые проблемы с angular и nodejs (экспресс).

Итак, я пытаюсь отправить электронное письмо из одной формы на угловой, а затем передать значения методом post. Проблема в том, что информация не достигает сервера узла на хосте. Я проверил конечную точку с почтальоном, и она работает нормально (ssl отключен), но при попытке отправить с веб-сайта я ничего не получаю, только ошибка ERR_CONN_TIMEOUT.

Я использую общий хостинг a2hosting и отредактировал .htaccess, чтобы он выглядел так:

 <IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteBase /
     RewriteRule ^index\.html$ - [L]
     RewriteRule ^$ http://127.0.0.1:30001/ [P,L]
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule ^(.*)$ https://example.com:30001/$1 [P,L]
     RewriteRule . /index.html [L]
 </IfModule>

Конечная угловая точка выглядит следующим образом:

sendEmail(data){
    //let url = "http:/localhost:30001/sendmail";
      let url = "https://example.com:30001/sendmail";
      let headers1 = new Headers({'Content-Type': 'application/json'});
      console.log(JSON.stringify(data));
      return this.http.post(url, JSON.stringify(data), {headers: headers1});
    }

Для части узла я использую emailjs:

  app.post("/sendmail", (req, res) => {

  var userEmail = req.body.email;
  var name = req.body.name;
  var subject = req.body.subject;
  var message = req.body.message;
  console.log(message);

  var server    = email.server.connect({
     user:    "username@somemail.com",
     password:"password",
     host:    "one.smtp.two",
     ssl: true, //or false
     port: 465 //or 25 without ssl
  });

  // send the message and get a callback with an error or details of the message that was sent
  server.send({
     text:    message,
     from:    "from@email.com",
     to:      "destination@mail.com",
     cc:      null,
     subject: subject
  }, function(err, message) {
      if(err){
        console.log(err || message);
      }
      else{
        return res.json({success: true, msg: "success"});
      }
    });

});

Мой хост работает под управлением centos7 и имеет сервер apache.

Я не уверен, неправильно ли что-то настроено или кто-то может указать мне здесь. Я попытался изменить .htaccess на http и https. Веб-сайт отправляет электронную почту только локально и с отключенным ssl (как и почтальон). Пожалуйста, помогите мне в этом, ребята! Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...