2016-06-29 55 views
1

(更新)大家好,我想邀請朋友發送郵件到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: "[email protected]", 
     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"); 
     } 
}); 
}); 
+0

發送電子郵件,你需要一些服務器部分 – Alexan

+0

我是新的angularjs,如果有服務器部分的解決方案,請幫助我... –

+0

也許最簡單的方法將發送它與PHP和它自己的郵件功能。檢查它[這裏](http://php.net/manual/es/function.mail.php)和[這裏](http://www.w3schools.com/php/func_mail_mail.asp)。 –

回答

0

下面的步驟可以幫助你:

添加var nodemailer=require("nodemailer")到您的服務器的頂部 腳本

添加var express=require("express"); var app=express()到你的服務器腳本的頂部

來測試正在發送的電子郵件移動什麼是你app.get(功能外「/發送」)劇本和評論的一切(現在)應該類似於此:

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

var mailOptions={ 
    to : "[email protected]", 
    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。一切都應該現在...

好運,如果您有任何問題,我很樂意提供幫助。