クラウド機能を使ってメールを送信しようとしているだけです
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)
DNSの問題のようです。 Firebase機能で外部リクエストを行うには有料プランを利用する必要があることを他の場所(stackoverflow)で読みました。 それはあなたのラップトップ上でローカルに動作しますか?
@aroach
それはあなたのラップトップ上でローカルに動作しますか?
いいえ、ローカルで動作していません。
Firebaseの問題ですか、それともSendgridですか?
ありがとう
PS:ローカルでは、すでにデプロイされているのではなく、ローカルで関数を呼び出すことを意味していると思いますか? はいの場合、その場合、私の機能はライブです
@aroachはそれが真実であることが判明しました: https : //firebase.google.com/support
そして、私の計画をアップグレードした後、私はメッセージを送ることができました。
ありがとう
これはFireBaseの問題です。 Free(Spark Plan)アカウントを使用している場合、Googleサービスを使用できるのは、外部サービスを使用している場合のみです。
https://firebase.google.com/pricing/
SendGridを介してメールを送信できるプラン(FlameプランまたはBlazeプラン)をアップグレードします。
@ kadnan0900ブレイズプランにアップグレードしましたが、getaddrinfo ENOTFOUND api.github.comapi.githubを取得しています。 com:443エラー。
また、エラーが発生します。 興味深いことに、それは一度は機能しましたが、その後は機能しませんでした。 FirebaseのBlazeプランで、正しいAPIキーを使用していることを確認しましたが、APIキーの資格情報は正しいです。 Firebaseエミュレーター/ UIを使用してローカルでテストすると、このエラーが発生します。
使用:
"@sendgrid/mail": "^7.1.1",
"firebase-admin": "^8.12.1",
"firebase-functions": "^3.6.2"
DNSの問題のようです。 Firebase機能で外部リクエストを行うには有料プランを利用する必要があることを他の場所(stackoverflow)で読みました。 それはあなたのラップトップ上でローカルに動作しますか?
そのローカルで動作します。 しかし、展開ではありません
また、エラーが発生します。 興味深いことに、それは一度は機能しましたが、その後は機能しませんでした。 FirebaseのBlazeプランで、正しいAPIキーを使用していることを確認しましたが、APIキーの資格情報は正しいです。 Firebaseエミュレーター/ UIを使用してローカルでテストすると、このエラーが発生します。
使用:
"@sendgrid/mail": "^7.1.1", "firebase-admin": "^8.12.1", "firebase-functions": "^3.6.2"
運が良ければ? Blazeプランでこの問題が発生しています。
最も参考になるコメント
DNSの問題のようです。 Firebase機能で外部リクエストを行うには有料プランを利用する必要があることを他の場所(stackoverflow)で読みました。 それはあなたのラップトップ上でローカルに動作しますか?