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

Erstellt am 6. Mai 2019  ·  8Kommentare  ·  Quelle: sendgrid/sendgrid-nodejs

Problemzusammenfassung

Ich versuche nur, eine E-Mail mit Cloud-Funktionen zu senden

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)

Technische Details:

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

Hilfreichster Kommentar

Sieht nach einem DNS-Problem aus. Ich habe an anderer Stelle (Stackoverflow) gelesen, dass Sie einen kostenpflichtigen Plan haben müssen, um externe Anfragen zu Firebase-Funktionen zu stellen. Funktioniert es lokal auf Ihrem Laptop?

Alle 8 Kommentare

Sieht nach einem DNS-Problem aus. Ich habe an anderer Stelle (Stackoverflow) gelesen, dass Sie einen kostenpflichtigen Plan haben müssen, um externe Anfragen zu Firebase-Funktionen zu stellen. Funktioniert es lokal auf Ihrem Laptop?

@aroach

Funktioniert es lokal auf Ihrem Laptop?

Nein, funktioniert nicht lokal.

Ist es ein Firebase-Problem oder Sendgrid?
Danke

PS: Ich denke, für lokal meinten Sie, die Funktion lokal aufzurufen, anstatt bereits bereitgestellt zu sein? Wenn ja, dann ist meine Funktion live

@aroach stellt sich heraus, dass es wahr war: https://firebase.google.com/support
Und nach dem Upgrade meines Plans konnte ich die Nachricht senden.

Danke

Dies ist ein Feuer-Basis-Problem. Wenn Sie ein kostenloses Konto (Spark Plan) verwenden, können Sie Google-Dienste nur nutzen, wenn Sie externe Dienste verwenden, die dafür bezahlt werden müssen.
https://firebase.google.com/pricing/
Aktualisieren Sie Ihren Plan (Flame Plan oder Blaze Plan) Sie können E-Mails über SendGrid senden.

@kadnan0900 Ich habe auf Blaze-Plan aktualisiert, bekomme aber immer noch getaddrinfo ENOTFOUND api.github.com api.github. com:443 Fehler.

Bekomme auch den Fehler. Interessanterweise hat es einmal funktioniert und dann nicht mehr. Auf dem Blaze-Plan in Firebase, bestätigt, dass ich die richtigen API-Schlüssel verwende, sind die API-Schlüssel-Creds korrekt. Beim lokalen Testen mit Firebase-Emulator/UI wird dieser Fehler angezeigt.

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

Sieht nach einem DNS-Problem aus. Ich habe an anderer Stelle (Stackoverflow) gelesen, dass Sie einen kostenpflichtigen Plan haben müssen, um externe Anfragen zu Firebase-Funktionen zu stellen. Funktioniert es lokal auf Ihrem Laptop?

Es funktioniert lokal. Aber nicht im Einsatz

Bekomme auch den Fehler. Interessanterweise hat es einmal funktioniert und dann nicht mehr. Auf dem Blaze-Plan in Firebase, bestätigt, dass ich die richtigen API-Schlüssel verwende, sind die API-Schlüssel-Creds korrekt. Beim lokalen Testen mit Firebase-Emulator/UI wird dieser Fehler angezeigt.

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

Etwas Glück? Wir haben dieses Problem selbst beim Blaze-Plan.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen