如何邀请朋友发送邮件?

时间:2016-06-29 14:12:44

标签: html node.js

(更新)大家好我想邀请朋友使用Nodejs发送邮件。主要是服务器端userpass可以使用吗?和邮件也不能发送然后我尝试了很多方法,但无法得到解决方案,如果有人知道解决方案,请帮助我..... myplunker

HTML: -

<div id="container">
<center>   
<input id="to" type="text" placeholder="Enter E-mail ID" /><br><br>
<input id="subject" type="text" placeholder="Write Subject" /><br><br>
<textarea id="content" cols="40" rows="5" placeholder="Message"></textarea><br><br>
<button id="send_email">Send Email</button>
</center>
<span id="message"></span>
</div>

服务器: -

var smtpTransport = nodemailer.createTransport("SMTP",{
    service: "Gmail",
    use_authentication: true,
    auth: {
        user: "sample@gmail.com",
        pass: "password"
    }
});


app.get('/',function(req,res){
    res.sendfile('index.html');
});
app.get('/send',function(req,res){
    var mailOptions={
        to : req.query.to,
        subject : req.query.subject,
        text : req.query.text
    }
    console.log(mailOptions);
    smtpTransport.sendMail(mailOptions, function(error, response){
     if(error){
            console.log(error);
        res.end("error");
     }else{
            console.log("Message sent: " + response.message);
        res.end("sent");
         }
});
});

1 个答案:

答案 0 :(得分:0)

以下步骤可以帮助您:

  

var nodemailer=require("nodemailer")添加到服务器的顶部   脚本

     

var express=require("express"); var app=express()添加到服务器脚本的顶部

要测试是否正在发送电子邮件,请移动函数外部app.get(“/ send”)脚本中的内容并对其他所有内容进行评论(For Now)应该类似于:

var nodemailer=require("nodemailer");
var express=requre("express");
var app=express();
var smtpTransport = nodemailer.createTransport("SMTP",{
    service: "Gmail",
    use_authentication: true,
    auth: {
        user: "email@domain.com",
        pass: "PASS"
    }
});

var mailOptions={
    to : "email@domain.com",
    subject :"SUBJECT",
    text : "MESSAGE"
}


console.log(mailOptions);
smtpTransport.sendMail(mailOptions, function(error, response){
 if(error){
        console.log(error);

 }else{
        console.log("Message sent: " + response.message);

     }
});

/*
app.get('/',function(req,res){
    res.sendfile('index.html');
});
app.get('/send',function(req,res){
    var mailOptions={
        to : req.query.to,
        subject : req.query.subject,
        text : req.query.text
    }
    console.log(mailOptions);
    smtpTransport.sendMail(mailOptions, function(error, response){
     if(error){
            console.log(error);
        res.end("error");
     }else{
            console.log("Message sent: " + response.message);
        res.end("sent");
         }
});
});*/
  

请确保您为尝试发送电子邮件的电子邮件启用此功能:https://www.google.com/settings/security/lesssecureapps

     

确定你的版本的nodemailer是正确的,你的设置应该是0.71v:How to downgrade this node.js module to specific version and prevent automatic upgrade later?

     

使用终端运行服务器脚本:node fileName.js(如果没有任何提示可以帮助您复制错误堆栈吗?)

     

如果一切正常,则取消注释所有内容并删除app.get之外的mailOptions和smtpTransport。一切都应该工作......

祝你好运,如果你有任何问题,我会很乐意提供帮助。