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

Créé le 6 mai 2019  ·  8Commentaires  ·  Source: sendgrid/sendgrid-nodejs

Résumé de la question

J'essaye juste d'envoyer un e-mail avec des fonctions cloud

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)

Détails techniques:

  • sendgrid-nodejs : 6.3.1
  • Version de Node.js : 11.15.0

Commentaire le plus utile

Cela ressemble à un problème DNS. J'ai lu ailleurs (stackoverflow) que vous devez être sur un plan payant pour faire des demandes externes sur les fonctions de firebase. Fonctionne-t-il localement sur votre ordinateur portable ?

Tous les 8 commentaires

Cela ressemble à un problème DNS. J'ai lu ailleurs (stackoverflow) que vous devez être sur un plan payant pour faire des demandes externes sur les fonctions de firebase. Fonctionne-t-il localement sur votre ordinateur portable ?

@aroach

Fonctionne-t-il localement sur votre ordinateur portable ?

Non, ne fonctionne pas localement.

Est-ce un problème Firebase ou Sendgrid ?
Merci

PS : Je pense que pour localement vous vouliez appeler la fonction localement plutôt que d'être déjà déployée ? Si oui, dans ce cas ma fonction est live

@aroach s'avère que c'était vrai : https://firebase.google.com/support
Et après avoir mis à niveau mon plan, je pourrais envoyer le message.

Merci

Il s'agit d'un problème de base de feu. Si vous utilisez un compte Free (Spark Plan), vous ne pouvez utiliser les services Google que si vous utilisez des services externes, vous devez payer pour cela.
https://firebase.google.com/pricing/
Mettez à niveau votre plan (Plan Flame ou Plan Blaze), vous pouvez envoyer des e-mails via SendGrid.

@ kadnan0900 j'ai mis à niveau vers le plan blaze mais j'obtiens toujours getaddrinfo ENOTFOUND api.github.com api.github. com:443 erreur.

Obtenir également l'erreur. Fait intéressant, cela a fonctionné une fois, puis n'a plus fonctionné. Sur le plan Blaze dans firebase, j'ai vérifié que j'utilise des clés API correctes, les crédits de clé API sont corrects. Test local avec l'émulateur/UI Firebase, obtenant cette erreur.

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

Cela ressemble à un problème DNS. J'ai lu ailleurs (stackoverflow) que vous devez être sur un plan payant pour faire des demandes externes sur les fonctions de firebase. Fonctionne-t-il localement sur votre ordinateur portable ?

Son travail localement. Mais pas en déploiement

Obtenir également l'erreur. Fait intéressant, cela a fonctionné une fois, puis n'a plus fonctionné. Sur le plan Blaze dans firebase, j'ai vérifié que j'utilise des clés API correctes, les crédits de clé API sont corrects. Test local avec l'émulateur/UI Firebase, obtenant cette erreur.

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

Pas de chance ? Nous rencontrons nous-mêmes ce problème sur le plan Blaze.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

danielflippance picture danielflippance  ·  4Commentaires

wooyah picture wooyah  ·  4Commentaires

thidasapankaja picture thidasapankaja  ·  4Commentaires

Chrischuck picture Chrischuck  ·  3Commentaires

amlcodes picture amlcodes  ·  4Commentaires