[英]how to include an HTML page in nodemailer in Node JS
I want to send Html Page using nodemailer in Email.我想在电子邮件中使用 nodemailer 发送 Html 页面。 But I can't include my html page.但我不能包含我的 html 页面。 How can is this possible?这怎么可能? Please help and give me a solution...请帮助并给我一个解决方案...
This is my EmailSendHtml.js File这是我的 EmailSendHtml.js 文件
var nodemailer=require('nodemailer');
var fs=require('fs');
var d;
fs.readFile('index.html','UTF-8',function(err,data)
{
d=data;
});
var transporter=nodemailer.createTransport(
{
service:'gmail',
auth:
{
user:'Me@gmail.com',
pass:'********'
}
});
var a='<h1>Welcome</h1><p>That was easy!</p>';
var mailOptions={
from:'Me@gmail.com',
to:'ToMyFriend@gmail.com',
subject:'Sending HTML page using Node JS',
html:d
};
transporter.sendMail(mailOptions,function(error,info)
{
if(error)
{
console.log(error);
}
else
{
console.log('Email Sent: '+info.response);
}
});
That's my html page which I want to include and show in email.这是我想要包含并显示在电子邮件中的 html 页面。
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link type="text/css" rel="stylesheet" href="style.css"/>
</head>
<body>
<h1>TODO write content</h1>
</body>
</html>
This is my style.css file这是我的 style.css 文件
/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/*
Created on : Feb 19, 2018, 2:03:50 PM
Author : Lenovo
*/
h1
{
color:red;
}
Just change your code as following :只需更改您的代码如下:
var nodemailer=require('nodemailer');
var fs=require('fs');
require.extensions['.html'] = function (module, filename) {
module.exports = fs.readFileSync(filename, 'utf8');
};
var data = require('index.html'); // path to your HTML template
var transporter=nodemailer.createTransport(
{
service:'gmail',
auth:
{
user:'Me@gmail.com',
pass:'********'
}
});
var a='<h1>Welcome</h1><p>That was easy!</p>';
var mailOptions={
from:'Me@gmail.com',
to:'ToMyFriend@gmail.com',
subject:'Sending HTML page using Node JS',
html:data
};
transporter.sendMail(mailOptions,function(error,info)
{
if(error)
{
console.log(error);
}
else
{
console.log('Email Sent: '+info.response);
}
});
Code sample代码示例
var htmlstream = fs.createReadStream("index.html");
transport.sendMail({ html: htmlstream }, function(err) {
if (err) {
// check if htmlstream is still open and close it to clean up
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.