Sendgrid,Firebase电子邮件未使用Netlify在生产中发送

问题描述

我将Nuxt,Sendgrid和Firebase用于简单的联系表单。 Netlify进行托管。我的表单在本地效果很好,并且可以毫无问题地发送电子邮件。当我将项目推送到Netlify时,电子邮件仍未发送。该电子邮件在本地有效,因为我正在将Sendgrid API密钥硬编码为NODEMAILER createTransport函数,例如:

本地代码:(完美无缺)

const transporter = nodemailer.createTransport({
  host: 'smtp.sendgrid.net',port: 587,secure: false,auth: {
    user: 'apikey',pass: 'MY API NUMBER IS HERE',},})

现在,当我将代码推送到Github / Netlify时,我在gitignore中有实际的api数字,因为我不想暴露该数字。所以现在看起来像这样:

 const transporter = nodemailer.createTransport({
      host: 'smtp.sendgrid.net',auth: {
        user: 'apikey',pass: process.env.SENDGRID_API_KEY,})

我的.env文件位于存储API密钥的项目的根目录中,sendgrid functions文件夹为/functions/index.js。我想知道功能文件夹是否无法访问.env文件中的信息?

解决方法

您可能已经尝试过这个,但是您是否在 Netlify 的部署选项卡中设置了环境变量?

Netlify Env Vars