Hanya mencoba mengirim email dengan fungsi 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)
Sepertinya masalah DNS. Saya membaca di tempat lain (stackoverflow) bahwa Anda harus menggunakan paket berbayar untuk membuat Permintaan eksternal pada fungsi firebase. Apakah ini bekerja secara lokal di laptop Anda?
@aroach
Apakah ini bekerja secara lokal di laptop Anda?
Tidak, tidak bekerja secara lokal.
Apakah ini masalah Firebase atau Sendgrid?
Terima kasih
PS: Saya pikir untuk lokal Anda berarti memanggil fungsi secara lokal daripada sudah digunakan? Jika ya, dalam hal ini fungsi saya aktif
@aroach ternyata benar: https://firebase.google.com/support
Dan setelah memutakhirkan paket saya, saya bisa mengirim pesan.
Terima kasih
Ini adalah masalah berbasis api. Jika Anda menggunakan akun Gratis (Spark Plan), Anda hanya dapat menggunakan layanan Google jika Anda menggunakan layanan eksternal, Anda harus membayar untuk itu.
https://firebase.google.com/pricing/
Tingkatkan paket Anda (Flame Plan atau Blaze Plan) Anda dapat mengirim email melalui SendGrid.
@kadnan0900 saya com:443 kesalahan.
Juga mendapatkan kesalahan. Menariknya, itu berhasil sekali, lalu tidak berfungsi lagi. Pada paket Blaze di firebase, diverifikasi saya menggunakan kunci API yang benar, kredensial kunci API sudah benar. Menguji secara lokal dengan emulator/UI firebase, mendapatkan kesalahan ini.
Menggunakan:
"@sendgrid/mail": "^7.1.1",
"firebase-admin": "^8.12.1",
"firebase-functions": "^3.6.2"
Sepertinya masalah DNS. Saya membaca di tempat lain (stackoverflow) bahwa Anda harus menggunakan paket berbayar untuk membuat Permintaan eksternal pada fungsi firebase. Apakah ini bekerja secara lokal di laptop Anda?
Ini bekerja secara lokal. Tapi tidak pada penyebaran
Juga mendapatkan kesalahan. Menariknya, itu berhasil sekali, lalu tidak berfungsi lagi. Pada paket Blaze di firebase, diverifikasi saya menggunakan kunci API yang benar, kredensial kunci API sudah benar. Menguji secara lokal dengan emulator/UI firebase, mendapatkan kesalahan ini.
Menggunakan:
"@sendgrid/mail": "^7.1.1", "firebase-admin": "^8.12.1", "firebase-functions": "^3.6.2"
Ada keberuntungan? Kami mengalami masalah ini sendiri di paket Blaze.
Komentar yang paling membantu
Sepertinya masalah DNS. Saya membaca di tempat lain (stackoverflow) bahwa Anda harus menggunakan paket berbayar untuk membuat Permintaan eksternal pada fungsi firebase. Apakah ini bekerja secara lokal di laptop Anda?