Sendgrid-nodejs: getaddrinfo EAI_AGAIN api.sendgrid.com:443

Criado em 6 mai. 2019  ·  8Comentários  ·  Fonte: sendgrid/sendgrid-nodejs

Resumo do problema

Apenas tentando enviar um e-mail com funções na nuvem

const functions = require('firebase-functions')
const express = require('express')
const cors = require('cors')
const mailService = require('@sendgrid/mail')
const bodyParser = require('body-parser')

//Constants
const SENDGRID_API_KEY = 'Myapikey'

//Set up
const app = express()

app.use(bodyParser.json())
app.use(cors({ origin: true }))
app.post('/send', async (req, res) => {
  mailService.setApiKey(SENDGRID_API_KEY)

  const { name, email, message } = req.body

  const emailContent = {
    to: '[email protected]',
    from: '[email protected]'',
    subject: `subject`,
    text: `some message`,
  }

  try{
    const response = await mailService.send(emailContent)

    res.json({message: 'message sent'})

  } catch(error){
    const { message, code, response } = error

    res.json({message, response})
  }
})

exports.api = functions.https.onRequest(app)

Detalhes técnicos:

  • sendgrid-nodejs: 6.3.1
  • Versão Node.js: 11.15.0

Comentários muito úteis

Parece um problema de DNS. Eu li em outro lugar (stackoverflow) que você precisa estar em um plano pago para fazer solicitações externas em funções do firebase. Funciona localmente no seu laptop?

Todos 8 comentários

Parece um problema de DNS. Eu li em outro lugar (stackoverflow) que você precisa estar em um plano pago para fazer solicitações externas em funções do firebase. Funciona localmente no seu laptop?

@aroach

Funciona localmente no seu laptop?

Não, não está trabalhando localmente.

É um problema de Firebase ou Sendgrid?
Obrigado

PS: Acho que para localmente você quis dizer chamar a função localmente, em vez de já estar implementada? Se sim, nesse caso minha função é ao vivo

@aroach descobriu que era verdade: https://firebase.google.com/support
E depois de atualizar meu plano, eu poderia enviar a mensagem.

Obrigado

Este é um problema de base incendiária. Se você estiver usando uma conta gratuita (plano Spark), só poderá usar os serviços do Google se estiver usando serviços externos e terá que pagar por isso.
https://firebase.google.com/pricing/
Atualize seu plano (Plano Flame ou Plano Blaze), você pode enviar e-mails através do SendGrid.

@ kadnan0900 eu atualizei para o plano blaze, mas ainda recebo getaddrinfo ENOTFOUND api.github.com api.github. com: erro

Também obtendo o erro. Curiosamente, funcionou uma vez, mas não funcionou novamente. No plano Blaze no firebase, verifiquei que estou usando as chaves de API corretas e os creds das chaves de API estão corretos. Testando localmente com o emulador / IU do Firebase, obtendo este erro.

Usando:
"@sendgrid/mail": "^7.1.1", "firebase-admin": "^8.12.1", "firebase-functions": "^3.6.2"

Parece um problema de DNS. Eu li em outro lugar (stackoverflow) que você precisa estar em um plano pago para fazer solicitações externas em funções do firebase. Funciona localmente no seu laptop?

Está trabalhando localmente. Mas não na implantação

Também obtendo o erro. Curiosamente, funcionou uma vez, mas não funcionou novamente. No plano Blaze no firebase, verifiquei que estou usando as chaves de API corretas e os creds das chaves de API estão corretos. Testando localmente com o emulador / IU do Firebase, obtendo este erro.

Usando:
"@sendgrid/mail": "^7.1.1", "firebase-admin": "^8.12.1", "firebase-functions": "^3.6.2"

Alguma sorte? Estamos enfrentando esse problema no plano Blaze.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

thidasapankaja picture thidasapankaja  ·  4Comentários

thinkingserious picture thinkingserious  ·  4Comentários

Loriot-n picture Loriot-n  ·  4Comentários

wooyah picture wooyah  ·  4Comentários

umarhussain15 picture umarhussain15  ·  3Comentários