mailgun.messages 不是函数

问题描述 投票:0回答:1

我正在尝试让我的电子商务网络应用程序在购买时发送电子邮件,但是当我尝试付款时,我收到了 mailgun.messages 不是一个功能我已经恢复了更改并重新编码了两次,但这是不同的错误我不确定如何解决这个问题。还有其他方法可以使用 mailgun 的 api 吗?这是下面的代码: orderRoutes.js:

orderRouter.put(
  "/:id/pay",
  isAuth,
  expressAsyncHandler(async (req, res) => {
    const order = await Order.findById(req.params.id).populate(
      "user",
      "email firstName"
    );
    if (order) {
      order.isPaid = true;
      order.paidAt = Date.now();
      order.paymentResult = {
        id: req.body.id,
        status: req.body.status,
        update_time: req.body.update_time,
        email_address: req.body.email_address,
      };
      const updateOrder = await order.save();
      mailgun.messages().send(
        {
          from: "Sales <[email protected]>",
          to: `${order.user.firstName} <${order.user.email}>`,
          subject: `New Order ${order._id}`,
          html: payOrderEmailTemplate(order),
        },
        (error, body) => {
          if (error) {
            console.log(error);
          } else {
            console.log(body);
          }
        }
      );
      res.send({ message: "Order Paid", order: updateOrder });
    } else {
      res.status(404).send({ message: "Order Not Found" });
    }
  })
);

utils.js

export const mailgun = () =>
  mg({
    apiKey: process.env.MAILGUN_API_KEY,
    domain: process.env.MAILGUN_DOMAIN,
  });
node.js reactjs mailgun
1个回答
0
投票

不再支持图书馆

mailgun-js
。可以使用官方库:https://www.npmjs.com/package/mailgun.js

© www.soinside.com 2019 - 2024. All rights reserved.