Je souhaite envoyer un e-mail à partir d'une application webix en cliquant sur un bouton dans l'interface utilisateur, qui envoie une demande de post via un appel ajax le serveur JS nœud au backend. La partie webix ressemble ci-dessous:Comment envoyer un e-mail depuis une application Webix en utilisant sendmail du noeud serveur JS au backend
{ id:'tb',
view: 'toolbar',
cols: [
{view:"button", id:"mail_btn", type:"icon", label:"SendEmail", tooltip:"Send an email", width:100, on: {onItemClick:function(){sendEmail()}} },
]
}
La fonction de rappel:
function sendEmail() {
var bodypart = {"message" : "This is a test mail"};
$.ajax({
type: 'POST',
url: '/appl/email',
data: bodypart,
success: function (data) {
console.log("success");
},
error: function(err){
console.log(err);
}
});
}
}
ci-dessus appel ajax envoie une requête au nœud JS où je me sers paquet sendmail NPM pour y parvenir. Le code ressemble ci-dessous:
var sendmail = require('sendmail')();
app.post('/appl/email', sendmail());
function sendEmail() {
sendmail({
from: '[email protected]',
to: '[email protected]',
subject: 'test sendmail',
html: 'Mail of test sendmail ',
}, function(err, reply) {
console.log(err && err.stack);
console.dir(reply);
});
}
Cependant, je reçois ci-dessous erreur:
Error: Route.post() requires callback functions but got a [object Undefined]
Est-il possible d'envoyer des e-mail de webix lui-même sans envoyer la requête au nœud serveur JS? Ou bien comment utiliser le paquet npm de sendmail pour y parvenir comme je le fais?
Toute aide serait appréciée.
Merci d'avoir signalé les erreurs. Je l'ai corrigé et ça marche maintenant. –