У меня есть некоторые проблемы с 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 (как и почтальон). Пожалуйста, помогите мне в этом, ребята! Спасибо!