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

تم إنشاؤها على ٦ مايو ٢٠١٩  ·  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؟
شكرا

ملاحظة: أعتقد أنك تعني محليًا استدعاء الوظيفة محليًا بدلاً من نشرها بالفعل؟ إذا كانت الإجابة بنعم ، في هذه الحالة تكون وظيفتي حية

aroach تبين أنه كان صحيحًا: https://firebase.google.com/support
وبعد ترقية خطتي يمكنني إرسال الرسالة.

شكرا

هذه قضية تتعلق بقاعدة النار. إذا كنت تستخدم حسابًا مجانيًا (Spark Plan) ، فلا يمكنك استخدام خدمات Google إلا إذا كنت تستخدم خدمات خارجية ، يتعين عليك الدفع مقابل ذلك.
https://firebase.google.com/pricing/
قم بترقية خطتك (Flame Plan أو Blaze Plan) ، يمكنك إرسال رسائل البريد الإلكتروني من خلال SendGrid.

@ kadnan0900 قمت بالترقية إلى خطة blaze ولكن ما زلت أحصل على getaddrinfo ENOTFOUND api.github.com api.github. كوم: خطأ

أيضا الحصول على الخطأ. ومن المثير للاهتمام ، أنه نجح مرة واحدة ، ثم لم يعمل مرة أخرى. في خطة 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 التقييمات