使用 Vercel 上的 SMS 门户从 NextJs 14 应用程序发送短信

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

我正在构建一个 NextJs 14 应用程序,该应用程序应通过 SMS 向用户发送 OTP

实施了短信门户,这在我的场景中似乎是最具成本效益的。

我在 Vercel 上托管(专业计划)

本地一切正常,但部署后短信不会发送 错误日志中没有任何内容,没有抛出异常,但短信没有到达,我的短信门户显示没有发送短信(除非我从 localhost:3000 发送它们)

我不确定我的代码有问题(它在本地工作) 或者短信门户方面的东西(他们说不) 或者我需要在 Vercel 中白化 SMSPortal 的 IP(不知道如何操作?)

有人对此有一些见解吗?

代码在下面,但就像我说的,它在本地运行良好

import axios from "axios";

export const sendSms = async (message: string, recipient: string) => {
  const apiKey = process.env.SMS_PORTAL_CLIENT_ID;
  const apiSecret = process.env.SMS_PORTAL_API_SECRET;
  const accountApiCredentials = apiKey + ":" + apiSecret;

  const buff = Buffer.from(accountApiCredentials);
  const base64Credentials = buff.toString("base64");

  const requestHeaders = {
    headers: {
      Authorization: `Basic ${base64Credentials}`,
      "Content-Type": "application/json",
    },
  };

  const requestData = JSON.stringify({
    messages: [
      {
        content: message,
        destination: recipient,
      },
    ],
  });

  axios
    .post(
      "https://rest.smsportal.com/bulkmessages",
      requestData,
      requestHeaders,
    )
    .then((response) => {
      if (response.data) {
        console.log("Success:");
        console.log(response.data);
      }
    })
    .catch((error) => {
      if (error.response) {
        console.log("Failure:");
        console.log(error.response.data);
      } else {
        console.log("Something went wrong during the network request.");
      }
    });
};```
next.js sms vercel
1个回答
0
投票

您是否已将 SMS Portal 环境变量添加到 vercel 仪表板中的生产环境变量中?

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