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

Созданный на 6 мая 2019  ·  8Комментарии  ·  Источник: sendgrid/sendgrid-nodejs

Резюме проблемы

Просто пытаюсь отправить электронное письмо с облачными функциями

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)

Технические детали:

  • sendgrid-nodejs: 6.3.1
  • Node.js Версия: 11.15.0

Самый полезный комментарий

Похоже на проблему с DNS. Я читал в другом месте (stackoverflow), что вам нужно иметь платный план для выполнения внешних запросов к функциям firebase. Он работает локально на вашем ноутбуке?

Все 8 Комментарий

Похоже на проблему с DNS. Я читал в другом месте (stackoverflow), что вам нужно иметь платный план для выполнения внешних запросов к функциям firebase. Он работает локально на вашем ноутбуке?

@aroach

Он работает локально на вашем ноутбуке?

Нет, не работает локально.

Это проблема Firebase или Sendgrid?
Спасибо

PS: Я думаю, что для локального вы имели в виду локальный вызов функции, а не уже развернутую? Если да, в этом случае моя функция активна

@aroach оказывается правдой: https://firebase.google.com/support
И после обновления моего плана я смог отправить сообщение.

Спасибо

Это проблема с огневой базой. Если вы используете бесплатную учетную запись (Spark Plan), вы можете использовать сервисы Google только в том случае, если вы используете внешние сервисы, за которые вам нужно заплатить.
https://firebase.google.com/pricing/
Обновите свой план (план Flame или план Blaze), вы можете отправлять электронные письма через SendGrid.

@ kadnan0900 Я перешел на план Blaze, но все еще получаю getaddrinfo ENOTFOUND api.github.com api.github. com: ошибка

Также появляется ошибка. Интересно, что однажды это сработало, а потом уже не сработало. В плане Blaze в firebase проверено, что я использую правильные ключи API, кредиты ключей API верны. Локальное тестирование с помощью эмулятора / пользовательского интерфейса firebase, получение этой ошибки.

С использованием:
"@sendgrid/mail": "^7.1.1", "firebase-admin": "^8.12.1", "firebase-functions": "^3.6.2"

Похоже на проблему с DNS. Я читал в другом месте (stackoverflow), что вам нужно иметь платный план для выполнения внешних запросов к функциям firebase. Он работает локально на вашем ноутбуке?

Он работает локально. Но не при развертывании

Также появляется ошибка. Интересно, что однажды это сработало, а потом уже не сработало. В плане Blaze в firebase проверено, что я использую правильные ключи API, кредиты ключей API верны. Локальное тестирование с помощью эмулятора / пользовательского интерфейса firebase, получение этой ошибки.

С использованием:
"@sendgrid/mail": "^7.1.1", "firebase-admin": "^8.12.1", "firebase-functions": "^3.6.2"

При удаче? Мы сами сталкиваемся с этой проблемой в плане Blaze.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги