1

我正在尝试使用 Node 中的无密码库来发送电子邮件的不同 HTML/文本正文,具体取决于具体情况。

目前,正如示例所显示的那样,它的所有工作都完美无缺。然而,我想要的是能够根据谁登录将电子邮件的正文设置为模板。

我已经可以指定要使用的传递方法,但我不一定需要不同的传递方法,而是能够将另一个可选对象传递给addDelivery回调:

passwordless.addDelivery(
    function(tokenToSend, uidToSend, recipient, callback) {
        var message = {
            "html": emailText(true, tokenToSend, uidToSend),
            "text": emailText(false, tokenToSend, uidToSend),
            "subject": config.mandrill.subject,
            "from_email": config.mandrill.from,
            "from_name": config.mandrill.fromname,

如果我可以将一个对象传递给那个匿名函数,那么我就会被设置。我基本上可以传入消息对象

我认为这需要以某种方式从 passwordless.requestToken

passwordless.requestToken(
        function(email, delivery, callback) {

某处。

任何能够提供帮助的人将不胜感激

4

1 回答 1

0

您可以通过闭包传递对象。基本上,您可以使用匿名函数范围之外的变量。例如,在您的代码中,您可以执行类似的操作

var messageObject = ...;
passwordless.addDelivery(function(tokenToSend, uidToSend, recipient, callback) {
    message = messageObject;
    ...

闭包真的很有帮助,拥抱它们!

于 2015-12-27T20:03:33.957 回答