gpt4 book ai didi

node.js - 在 Parse 服务器 CloudCode 中使用已初始化的邮件适配器

转载 作者:太空宇宙 更新时间:2023-11-03 23:32:35 24 4
gpt4 key购买 nike

使用 parse-server 2.2.6,如何在云代码中使用 SimpleMailgunAdapter?

我像这样初始化我的解析服务器:

var api = new ParseServer({
databaseURI: databaseUri,
cloud: process.env.CLOUD_CODE_MAIN,
appId: process.env.APP_ID || 'myAppId',
masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret!
serverURL: process.env.SERVER_URL, // Don't forget to change to https if needed
appName: 'AppName',
publicServerURL: process.env.SERVER_URL,
verifyUserEmails: true,
emailAdapter: {
module: 'parse-server-simple-mailgun-adapter',
options: {
fromAddress: 'mymail@mail.com',
apiKey: process.env.MAILGUN_API_KEY,
domain: process.env.MAILGUN_DOMAIN
}
}
});

这正在工作(即验证电子邮件正在发送)

现在我想从云代码发送电子邮件,而不创建新的 SimpleMailgunAdapter。

我今天使用的:

var SimpleMailgunAdapter = require('parse-server-simple-mailgun-adapter');

var adapter = SimpleMailgunAdapter({
apiKey: process.env.MAILGUN_API_KEY,
domain: process.env.MAILGUN_DOMAIN,
fromAddress: 'mymail@email.com'
})

这正在工作。但我觉得最好的方法是从我的解析实例中获取已经初始化的邮件适配器。但我不知道该怎么做。这是否被认为是最佳实践,或者我可以坚持我的解决方案吗?

最佳答案

您可以使用 mailgun 从云代码发送电子邮件。

首先您需要安装 npm 模块 [ https://www.npmjs.com/package/mailgun-js]

使用此命令:

npm 安装 mailgun-js --save

然后更新您的服务器(我使用 AWS elasticbeanstalk)

然后在你的 main.js 文件中,通过以下方式初始化 mailgun

var mailgun = require('mailgun-js')({apiKey: 'XXX', domain: 'XXX.com'});

然后创建云代码函数

    Parse.Cloud.define("sendEmail", function(request, response) {

console.log("sendEmail " + new Date());


var emailBody = request.params.emailBody;
var emailSubject = request.params.emailSubject;
var fromName = request.params.fromName;
var fromEmail = request.params.fromEmail;
var toEmail = request.params.toEmail;
var toName = request.params.toName;

var fromString = fromName + " <"+fromEmail+">";
var toString = toName + " <"+toEmail+">"

console.log("emailBody " + emailBody);
console.log("emailSubject " + emailSubject);
console.log("fromName " + fromName);
console.log("fromEmail " + fromEmail);
console.log("toEmail " + toEmail);
console.log("toName " + toName);

var data = {
from: fromString,
to: toString,
subject: emailSubject,
html: emailBody
};

mailgun.messages().send(data, function (error, body) {
if (error) {
console.log("got an error in sendEmail: " + error);
response.error(err);
}else {
console.log("email sent to " + toEmail + " " + new Date());
response.success("Email sent!");
}
});
});

关于node.js - 在 Parse 服务器 CloudCode 中使用已初始化的邮件适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36488700/

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