gpt4 book ai didi

javascript - node-mandrill通过服务器发送邮件

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:48 25 4
gpt4 key购买 nike

这是一个关于正确使用node-mandrill的新手问题,很可能是在node本身上,因为我仍在尝试学习它。但由于我已经看到很多直接从客户端使用 mandrill 的 api key 并因此揭示它的示例,我想知道它在服务时到底是如何工作的,但在这一点上陷入了困境:

我有一个为公共(public)文件夹提供服务的 app.js...

app.js

var express = require('express');
var mandrill = require('node-mandrill')(API_KEY);
var app = express();
app.use(express.static('public'));
app.listen(PORT);

function sendEmail ( _name, _email, _subject, _message) {
mandrill('/messages/send', {
message: {
to: 'EMAIL',
from: [{email: _email , name: _name}],
subject: _subject,
text: _message
}
}, function(error, response){
if (error) console.log( error );
else console.log(response);
});
}

...其中客户端脚本用于从联系表单收集信息并在单击提交按钮后发送电子邮件。

form.js

var contactForm = document.getElementById( 'contactForm' );
new stepsForm( contactForm, {
onSubmit : function( form ) {

// send email
var _subject = 'Contact Request';
var _email = contactForm.elements['q4'].value;
var _name = contactForm.elements['q5'].value;
var _message = contactForm.elements['q6'].value;

sendEmail(_name,_email,_subject,_message);

}
} );

您能告诉我缺少什么/有什么问题吗?谢谢。

最佳答案

您无法从客户端调用后端函数。您可以使用 Jquery 进行 Ajax 调用,例如:

$(document).ready(function(){

$('#contactForm').submit(function(event) {
event.preventDefault();
var _subject = 'Contact Request';
var _email = contactForm.elements['q4'].value;
var _name = contactForm.elements['q5'].value;
var _message = contactForm.elements['q6'].value;

$.ajax({
url: '/sendEmail',
method: 'post',
contentType: 'application/json',
data: JSON.stringify({ subject: _subject, email: _email}),
success: function(res) {

}
})

})

})

在你的后端:

// some lines skipped

app.post('/sendEmail', function(req, res) {

//do your stuff
})

关于javascript - node-mandrill通过服务器发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45395311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com