gpt4 book ai didi

azure - SendGrid 电子邮件在本地工作,但不适用于 Azure 应用服务

转载 作者:行者123 更新时间:2023-12-03 06:30:43 27 4
gpt4 key购买 nike

我在 next.js 中使用 sendgrid 来发送电子邮件。它在本地主机上工作得很好,但是当我将它部署到 Azure 应用程序服务并尝试发送电子邮件时,它会抛出一个错误,并且错误是一个空对象。

我正在使用 docker 在本地构建下一个应用程序,然后将该镜像上传并部署到 azure 应用程序服务上。这是为了允许本地环境变量包含在构建中。

/api/send-mail

import type { NextApiRequest, NextApiResponse } from 'next'



// https://github.com/sendgrid/sendgrid-nodejs/tree/main/packages/mail#quick-start-hello-email
// https://docs.sendgrid.com/for-developers/sending-email/quickstart-nodejs#build-your-api-call

import sgMail from '@sendgrid/mail'

sgMail.setApiKey(process.env.SEND_GRID_API_KEY)

const handler = async (req: NextApiRequest, res: NextApiResponse) => {

if(req.method == 'GET') {

const msg = "This is a test message"

sgMail.send({
to: process.env.SERVICES_INQUIRIES_EMAIL,
from: process.env.SEND_GRID_VERIFIED_EMAIL,
subject: "Test Email",
html: msg
}).then(() => {
return res.status(200).json({'success': true})
}, error => {
return res.status(500).json({'test error': error})
})
}

}

export default handler

当我在本地主机上点击此端点时,我得到 {"success":true},但是当我部署到应用服务时,我得到 {"test error":{} }.

这不应该是环境变量问题,因为其他环境变量在实时站点上工作。非常感谢任何见解。

最佳答案

您是否在 Azure 应用服务中使用了环境变量?

如果没有,请这样做: enter image description here

希望这会有所帮助

关于azure - SendGrid 电子邮件在本地工作,但不适用于 Azure 应用服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75260817/

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