Berikut adalah contoh kode JavaScript untuk mengirim email kepada owner ketika masa premium pengguna telah habis menggunakan MongoDB dalam REST API dengan EJS:

const express = require('express');
const app = express();
const mongoose = require('mongoose');
const nodemailer = require('nodemailer');
const User = require('./models/user');

// Koneksi ke MongoDB
mongoose.connect('mongodb://localhost:27017/myapp', { useNewUrlParser: true, useUnifiedTopology: true })
  .then(() => console.log('Connected to MongoDB'))
  .catch(err => console.error('Failed to connect to MongoDB', err));

// Konfigurasi Nodemailer
const transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'your-email@gmail.com',
    pass: 'your-password'
  }
});

// Fungsi untuk mengirim email
const sendEmail = (to, subject, text) => {
  const mailOptions = {
    from: 'your-email@gmail.com',
    to: to,
    subject: subject,
    text: text
  };

  transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
      console.error('Failed to send email', error);
    } else {
      console.log('Email sent', info.response);
    }
  });
};

// Route untuk memeriksa status premium pengguna
app.get('/api/checkPremiumStatus/:username', async (req, res) => {
  try {
    const username = req.params.username;
    const user = await User.findOne({ username });

    if (user) {
      if (user.isPremium) {
        res.send('User is still premium');
      } else {
        // Mengirim email kepada owner
        const ownerEmail = 'owner-email@gmail.com';
        const subject = 'Premium membership expired';
        const text = `The premium membership for user ${username} has expired.`;
        sendEmail(ownerEmail, subject, text);

        res.send('User premium expired');
      }
    } else {
      res.send('User not found');
    }
  } catch (error) {
    console.error('Failed to check premium status', error);
    res.status(500).send('Internal Server Error');
  }
});

// Menjalankan server
app.listen(3000, () => console.log('Server started on port 3000'));

Pastikan untuk mengganti nilai mongodb://localhost:27017/myapp dengan URL MongoDB Anda dan your-email@gmail.com dan your-password dengan akun Gmail Anda yang akan digunakan untuk mengirim email.

Juga, ubah owner-email@gmail.com dengan alamat email owner yang akan menerima email pemberitahuan.

Dalam contoh ini, User adalah model MongoDB yang mewakili data pengguna dengan properti username dan isPremium. Anda perlu menyesuaikan model ini sesuai dengan kebutuhan Anda

buatkan kode js di rest api ejs yang menggunakan database mongodb agar ketika ada user yang sudah habis premium maka otomatis server mengirim email ke owner yang berisi masa premium username telah hab

原文地址: http://www.cveoy.top/t/topic/hEkW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录