簡體   English   中英

如何將電子郵件存儲在變量中並使用node.js發送

[英]How to store email in variables and send it with node.js

 const functions = require('firebase-functions'); var nodemailer = require('nodemailer'); var transporter=nodemailer.createTransport('smtps://username@gmail.com:password@smtp.gmail.com'); exports.sendMail=functions.https.onRequest((req,res)=>{ var mailOptions={ to: 'sender@gmail.com', subject: 'Test Mail', html: 'Testing with Node.js' } transporter.sendMail(mailOptions,function(err,response){ if(err) { res.send('Mail not sent'); console.log(err); } else{ res.send('Mail sent'); } }); }); 

我想隨着時間的推移向各個人發送電子郵件。 我想動態更改此代碼中的to:地址。 那么如何從另一個JavaScript文件中獲取特定(sendermailid)變量並發送給該人。 我的文件夾位於圖片下方。 資料夾位置 如何從assmt.jsindex.js(雲函數js)獲取變量

您需要設置一個快速服務器來監聽我們的其他JS應用程序,如下所示:

var express  = require('express');
var app      = express();  

現在,您可以從指定端口上的另一個應用程序監聽:

var port = process.env.PORT || 8080;
app.listen(port);
console.log("App listening on port " + port);

最后,您必須攔截http post請求以發送郵件並從請求中獲取用戶信息:

app.post('/api/sendmail', function(req, res) {
    var mail = {
                from: req.body.user.emailFrom,
                to: req.body.user.emailTo,
                subject: "your subject",
                html: "<p>email body</p>"
                }



    transporter.sendMail(mail, function(error, response){
                    if(error){
                        console.log("Error!");
                        console.log(error);
                        res.send(JSON.stringify(error));
                    }else{
                        res.send(JSON.stringify(response));
                        console.log("Success!")
                        transporter.close();
                    }

    }

現在您的服務器已准備就緒,您可以使用以下命令啟動它:

節點serverName.js

然后在另一個js文件(assmt.js)中發送帶有參數的http請求:

send(user : User) {
    let body = {user};
     this.httpClient.post('http://localhost:8080/api/sendconge', body)
    .subscribe(function(data) {
            console.log(data);
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM