小编Sun*_*nny的帖子

如何减少电子邮件发送时间(使用 nodemailer 和 firebase)?

当新节点添加到 Firebase 实时数据库中的特定路径时,我们编写了向用户及其联系人发送电子邮件的代码。

发送电子邮件的平均时间为 4 分钟。我们认为问题是由于等待一些必要的承诺。我们希望缩短运行时间。你有什么建议吗?提前致谢!

这是我们的代码:

const functions = require("firebase-functions");
const nodemailer = require('nodemailer');
require('dotenv').config()

//for fire store
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();

const { SENDER_EMAIL, SENDER_PASSWORD } = process.env;

exports.sendEmails = functions.database.ref("/devices/{device_ID}/history/{alert_ID}")
  .onWrite(
    (snapshot, context) => { 

      sendMail(snapshot, context);

      return true;
    }
  );

  async function sendMail(snapshot, context){

    const { before, after } = snapshot;

    // new alert created
    if (before.val() == null) {

      console.log('DEBUG:: NEW ALERT');

      // get owners uID from device ID
      const …
Run Code Online (Sandbox Code Playgroud)

node.js async-await firebase nodemailer google-cloud-functions

2
推荐指数
1
解决办法
109
查看次数