gpt4 book ai didi

javascript - 当我在 Heroku 上部署时 sendGrid 不工作

转载 作者:行者123 更新时间:2023-12-04 17:32:56 27 4
gpt4 key购买 nike

部署后,我在 herokusendgrid 之间遇到一些问题,我无法从我的表单发送电子邮件,在本地主机中一切正常,但在实时版本中我有一个 400 错误的请求,有人知道发生了什么事吗?

我已经尝试过了:在我的配置中,我设置了所有 SENDGRID_API_KEY 示例,如下所示

https://devcenter.heroku.com/articles/sendgrid#provisioning-the-add-on

1)heroku addons:create sendgrid:starter

2) 设置 SENDGRID_API_KEY 并重启 ⬢ gammefive...完成,v18

一步一步但还是不行,有些东西我没看到。在本地,我在收件箱中看到我的电子邮件,一切正常 100%

非常感谢

const router = express.Router();
const sgMail = require('@sendgrid/mail');



router.post('/api/contact', async (req, res) => {


sgMail.setApiKey(process.env.SENDGRID_API_KEY);

const email = req.body.email;
const name = req.body.name;
const message = req.body.message;

const msg = {
to: process.env.GAMMEFIVE_EMAIL,
from: email,
subject: 'Email from gammefive',
text: `name: ${name};
email:${email}; message:${message}`
};

await sgMail
.send(msg)
.then(result => {
res.status(200).send(result);
})
.catch(error => {
res.status(400).send(error);
});
});

module.exports = router; ```


**FRONT-END**

sendData = async e => {

const { name, email, message } = this.state;

e.preventDefault();

const data = {
name,
email,
message
};

await axios
.post("/api/contact", data)
.then(res => {
if (res.status === 200) {
this.setState({
alertMessage: ""
});
}
})
.catch(error => {
console.log("important error", error);
});

};

最佳答案

我发现了问题,我按照这个https://devcenter.heroku.com/articles/sendgrid#provisioning-the-add-on从文档中可以看出一切正常,但主要问题是(让我们用简单的英语来说)heroku 无法识别 .env 文件,原因很明显:GITIGNORE 文件,所以我在 stackoverflow 上找到了另一个答案从这里How do I deploy to heroku from git when my API key is in a .gitignore file?

我按照该答案中的步骤进行操作,关键是安装软件包 https://github.com/xavdid/heroku-config 不要安装答案已弃用的软件包。安装 heroku plugins:install heroku-config 安装后你只需要运行 $ heroku config:push你应该开始发送电子邮件了。

我希望这对面临同样情况的人有用。

关于javascript - 当我在 Heroku 上部署时 sendGrid 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57892789/

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