フォームを使用して送信された電子メールIDに動的メールを送信しようとしています。
以下は私のapp.jsコードです。以下はejsとノードで動的htmlを作成
//Importing Packages
var express = require('express');
var nodemailer = require('nodemailer');
var bodyParser = require('body-parser');
//Applying Express,Ejs to Node
app = express();
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({extended:true}));
//Creating Nodemailer Transport
var transporter = nodemailer.createTransport({
host: 'smtp.zoho.com',
port: 465,
secure: true,
auth: {
user: '[email protected]*****.com',
pass: '******'
}
});
//Root Route Setup
app.get('/', function(req, res){
res.render("landing")
});
//Route to send the mail
app.post('/send', function(req,res){
//Setting up Email settings
var mailOptions = {
from: '[email protected]*****.com',
to : req.body.mail,
subject: 'Verify Your Email',
generateTextFromHtml : true,
html: { path: './tmpl.html'}
};
//Execute this to send the mail
transporter.sendMail(mailOptions, function(error, response){
if(error) {
console.log(error);
} else {
console.log(response);
}
});
res.send("Mail succesfully sent!")
});
//Server &Port Settings
app.listen(3333, function(){
console.log("Server is running...")
});
以下EJSファイル
<form action="/send" method="POST">
<input type="email" name="mail" placeholder="Enter your email">
<input type="text" name="name" placeholder="Enter your name">
<input type="submit">
</form>
とある私のフォームページのコード、あるフォームを使用して送信IDに郵送されている私のHTMLテンプレートです。
各電子メールで、私は変数を使用して、その人に対処できるように、私は、フォームから名前を読み、その後、電子メールであることが含まれるにはどうすればよい<html>
<body>
<h1>Hello World!</h1>
<a href="http://www.google/com">Link</a>
</body>
</html>
、「ハローミスター{{名前}}」のように
HTMLファイル内のスクリプトタグを使用してJavascriptを使用できないため、メールをブロックすることなくHTMLファイルに変数を渡す方法がわかりません。ほとんどのメールプロバイダがJSを電子メールでブロックするためです。
誰かが私を助けてくれますか?
最初のHTMLを生成し、電子メールのオブジェクトに含めるです。 – yBrodsky
どうすればいいですか?そのためにはどのツールが必要でしょうか?私は愚かな質問をして申し訳ありません、私はJSとノードの初心者です。 :S –
私はこれを使用します:https://github.com/crocodilejs/node-email-templates#basic – yBrodsky