Контактный формуляр должен отправить электронное письмо, но вместо этого console.log показывает 404 ошибки, хотя данные видны. Node.Js/Express и Angular: однако я использую UI-маршрутизатор с угловым ... может ли это вызвать conflich?
Угловой. app.js
app.controller("emailForm", ['$scope', '$http', function ($scope, $http) {
$scope.user = {test: 1};
$scope.processForm = function(user) {
console.log('Im in the controller');
$http({
method : 'POST',
url : '/send',
data : $scope.user,
dataType : "json",
headers : { 'Content-Type': 'application/json' },
});
}
}]);
Экспресс app.js:
app.post('/send',function(req,res){
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '[email protected]',
pass: '*****'
}
});
var emailBody = '<div>Name: ' + req.user.name + '</div>' +
'<div>Email: ' + req.user.email + '</div>' +
'<div>Phone: ' + req.user.phone + '</div>' +
'<div>Message: ' + req.user.message + '</div>' +
'<div>Date: ' + (new Date()).toString() + '</div>';
var mailOptions = {
From: '[email protected]',
To: '[email protected]',
subject: 'Contact from website',
html: 'emailBody'
};
console.log(mailOptions);
transporter.sendMail(mailOptions, function (error, info){
if(error){
console.log(error);
}else{
console.log('Message sent: ' + info.response);
}
});
});
});
});
Форма:
<form ng-controller="emailForm" ng-submit='processForm(user)' >
Name: <br><input type="text" ng-model="user.name" /><br><br>
E-mail: <br><input type="email" ng-model="user.email" /><br><br>
Phone:<br> <input type="tel" ng-model="user.phone" /><br><br>
Message: <br><textarea rows="4" cols="50" ng-model="user.message"> </textarea><br><br>
{{user.phone}}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" ng-disabled="my_form.$invalid" class="btn btn-primary">Submit</button>
</form>
Можете вы рассказать точную ошибку 404, которую вы видите на консоли. – Zee
На каком порту экспресс js слушает? Нет ли групп, в которые вы включаете отправку? Перезагрузите сервер после добавления/отправки маршрута. – vanadium23
Является ли пользователь и пароль gmail в вашем коде фальшивым, не так ли? ;) Если нет, могу ли я предложить вам изменить его как можно скорее? –