【问题标题】:sendInBlue API : HTTPError: Response code 403 (You are Forbidden)sendInBlue API:HTTPError:响应代码 403(您被禁止)
【发布时间】:2021-08-08 08:50:49
【问题描述】:

我正在尝试使用 sendInBlue API 调用以发送交易电子邮件。但它会显示 You are Forbidden 的错误。卡在上面一段时间了。我已经在那里激活了我的帐户。仍然无法通过此错误。任何帮助将不胜感激。谢谢

错误:

(node:2364) UnhandledPromiseRejectionWarning: HTTPError: Response code 403 (You are Forbidden)
    at EventEmitter.<anonymous> 

sendInBlueApi.js

const axios = require("axios")
    module.exports = axios.create({
      baseURL: "https://api.sendinblue.com/v3",
        headers: { "api-key": xxxxxxxxxxxxxx },
    
    });

ma​​iler.js

const apiInstance = require("./sendInBlueApiInstance");

function sendDownloadLink(email, downloadLinkCode, item) {
  const downloadLink = `${process.env.SERVER_URL}/download/${downloadLinkCode}`;

  return sendEmail({
    email,
    subject: `Download ${item.name}`,
    htmlContent: `
      <h1>Thank you for purchasing ${item.name}</h1>

      <a href="${downloadLink}">Download it now</a>
    `,
    textContent: `Thank you for purchasing ${item.name}
Download it now. ${downloadLink}`,
  });
}


function sendEmail({ email, ...options }) {
  const sender = {
    name: "From name",
    email: "cadaverdeath77@gmail.com",
  };

  return apiInstance.post("/smtp/email", {
    sender,
    replyTo: sender,
    to: [{ email }],
    ...options,
  });
}

module.exports = { sendDownloadLink};

server.js

const { sendDownloadLink, sendAllDownloadLinks } = require("./mailer")


const downloadLinkMap = new Map()

app.get("/download/:code", (req, res) => {
  const itemId = downloadLinkMap.get(req.params.code)
  if (itemId == null) {
    return res.send("This link has either expired or is invalid")
  }

  const item = items.find(i => i.id === itemId)
  if (item == null) {
    return res.send("This item could not be found")
  }

  downloadLinkMap.delete(req.params.code)
  res.download(`downloads/${item.file}`)
})

app.get("/purchase-success", async (req, res) => {
  const item = items.find(i => i.id === parseInt(req.query.itemId))
  const {
    customer_details: { email },
  } = await stripe.checkout.sessions.retrieve(req.query.sessionId)

  const downloadLinkCode = createDownloadCode(item.id)
  sendDownloadLink(email, downloadLinkCode, item)
  res.redirect(`${process.env.CLIENT_URL}/download-links.html`)
})

【问题讨论】:

    标签: node.js sendinblue


    【解决方案1】:

    我的交易账户未激活。我在 SendinBlue 支持上创建了一张票。他们激活了它,问题已经解决。

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 2014-10-22
      • 2023-01-04
      • 1970-01-01
      • 2017-12-11
      • 2016-08-17
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多