Nodejs中读取中文文件编码问题、发送邮件和定时任务实例

关于nodejs读取中文文件真是折腾了不少时间,网上各种方案,最后没有一个适用我,好在解决了。

下面的三个知识点都是从项目中抽出的,要单独运行脚本的话需要用全局模式来安装模块,比如安装中文转换模块(后续其它的也需要这么做):

复制代码 代码如下:

npm install -g iconv-lite

npm install -g nodemailer

npm install -g node-schedule

1、nodejs读取中文文件编码问题

准备一个文本文件(当然也可以是csv文件等)test.txt和text.csv,nodejs文件test.js如下:

复制代码 代码如下:

var iconv = require('iconv-lite');
var fs = require('fs');

var fileStr = fs.readFileSync('D:\\test.csv', {encoding:'binary'});
var buf = new Buffer(fileStr, 'binary');
var str = iconv.decode(buf, 'GBK');

console.log(str);

直接读文件的话是乱码,不信你可以试试。需要先统一用二进制编码方式读取,然后再用GBK解码。运行结果如下:

更多参见:iconv-lite

2、nodejs发送邮件

啥都不想说,直接上代码,简单易懂:

复制代码 代码如下:

var nodemailer = require('nodemailer');

//配置邮件
var transporter = nodemailer.createTransport('SMTP',{
    service: '163qiye',
    auth: {
        user: 'zhoujie0111@126.com',
        pass: '123456',
    }
});

//发送邮件
var sendmail = function(html){
    var option = {
            from:"zhoujie0111@126.com",
            to:"zhoujie0111@126.com,zhoujie0111@126.com",
            cc:'zhoujie0111@126.com'
        }
    option.subject = '我5年前制定的五年计划'
    option.html= html;
    transporter.sendMail(option, function(error, response){
        if(error){
            console.log("fail: " + error);
        }else{
            console.log("success: " + response.message);
        }
    });
}

//调用发送邮件
sendmail("邮件内容:<br/>My goal for 2015 is to accomplish the goals of 2014 which I should have done in 2013 because I made a promise in 2012 & planned in 2011!");

更多参见:nodemailer

3、nodejs定时任务

这个用法很多,如果熟悉linux crontab语法,这个就更简单了。我邹的这个例子很和谐,呵呵:

复制代码 代码如下:

var schedule = require('node-schedule');

/*方式一:
    指定某一个时间执行任务
*/
var schedule = require('node-schedule');
var date = new Date(2014, 12, 31, 16, 1, 0);

var j = schedule.scheduleJob(date, function(){
    console.log('2015 will soon come.');
});

/*方式二:
    在每个小时的多少分钟执行
*/
var rule = new schedule.RecurrenceRule();
rule.minute = 1;
var j = schedule.scheduleJob(rule, function(){
    console.log('I\'m very happy now!');
});

/*方式三:
    类似crontab
*/
var j = schedule.scheduleJob('1 * * * *', function(){
    console.log('It\'s time to 下午茶!');
});

运行结果更和谐,呵呵:

不要奇怪为什么第一个计划任务没有执行,因为这个是格林威治时间,它需要等8个小时后再执行。呵呵~~

更多参见:node-schedule

听了一天的悲伤的音乐,越听越开心。哈哈

时间: 2014-12-29

node实现定时发送邮件的示例代码

本文介绍了node实现定时发送邮件的示例代码,分享给大家,具体如下: 定时发送,可做提醒使用 nodemailer nodemailer 是一款简单易用的基于于SMTP协议(或 Amazon SES)的邮件发送组件 cron cron可以指定每隔一段时间执行指定的程序.也可以指定每天的某个时刻执行某个程序.还可以按照星期.月份来指定. npm install nodemailer -S npm install nodemailer-smtp-transport -S npm install cr

nodejs实现邮件发送服务实例分享

前段时间,想用python实现发送邮件的服务,用的是smtp,但是不知道为什么一直没有成功,于是想用nodejs尝试下,意外的简单容易. 先安装模块: npm  install  nodemailer --save 然后是整个mail.js: var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport({ service: 'qq', auth: { user: '1234567@qq.

利用Node.JS实现邮件发送功能

第一步.配置篇 首先需要安装nodemailer库 npm install nodemailer//默认会安装最新的版本. 关于这个库的文档参见nodemailer 第二步.库的一些使用介绍 这个库使用方法很简单的.首先是要创建一个用于发送邮件的实例 var transporter = nodemailer.createTransport(transport[, defaults]) transport参数属性 属性太多了就只写一些关键的属性 port:连接的端口号,一般就是465 host:你

基于Node.js实现nodemailer邮件发送

Nodemailer是一个简单易用的Node.js邮件发送组件,具体操作如下 1.安装nodemailer npm install nodemailer --save 2.特点 Nodemailer的主要特点包括: 支持Unicode编码 支持Window系统环境 支持HTML内容和普通文本内容 支持附件(传送大附件) 支持HTML内容中嵌入图片 支持SSL/STARTTLS安全的邮件发送 支持内置的transport方法和其他插件实现的transport方法 支持自定义插件处理消息 支持XOA

Node.js使用NodeMailer发送邮件实例代码

0.目标 这一节,我将实现一个简单的发送邮件功能. 1.部署 1.1 部署Express 如果不知道如何部署,可参照:部署Express 1.2 准备一个邮箱并开始SMTP服务 为了实现这个功能,你首先要有一个邮箱:由于需要使用SMTP方式发送,你还需要开启相关功能.你可以登录你的邮箱,然后开启这个设置,以新浪邮箱和QQ邮箱为例: 2.服务器端 2.1 使用nodemailer 这里要用到nodemailer,需要自行安装: npm install nodemailer --save 在rout

nodejs模块nodemailer基本使用-邮件发送示例(支持附件)

nodemailer是nodejs中的邮件发送模块,本文使用的版本为2.5.0 --下载模块 npm install nodemailer npm下载模块后,在项目中引入就可以使用: var nodemailer = require('nodemailer'); 以QQ邮箱为例. --获取授权码 进入QQ个人邮箱, 设置-账户-开启服务POP3/SMTP服务,并生成授权码,现在获取授权码需要验证手机号等. --后端代码 var nodemailer = require('nodemailer')

node.js使用nodemailer发送邮件实例

一.安装 nodemailer 复制代码 代码如下: npm install nodemailer --save 二.调用 复制代码 代码如下: var nodemailer = require("nodemailer"); // 开启一个 SMTP 连接池var smtpTransport = nodemailer.createTransport("SMTP",{  host: "smtp.qq.com", // 主机  secureConne

node.js发送邮件email的方法详解

本文实例讲述了node.js发送邮件email的方法.分享给大家供大家参考,具体如下: 通常我们做node项目时,可能我们会碰到做一个简单的邮件反馈,那么我们今天就来讨论一下,其中遇到的各种坑. 总的来说做这个东西,我们可能需要node第三方依赖模块,来实现我们要达到的效果. 这里我推荐两个模块:https://github.com/pingfanren/Nodemailer npm install nodemailer //这个模块不错,github上星也比较多,还经常有维护,但是坑也比较多

Node.js实现发送邮件功能

本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 var nodemailer = require("nodemailer"); var mailTitle='http://handsupowo.pl/:Releases HandsUp Info'; var child_process = require('child_process'); var fs= require('fs'); child_process.execFile('phantomj

Node.js net模块功能及事件监听用法分析

本文实例讲述了Node.js net模块功能及事件监听用法.分享给大家供大家参考,具体如下: net模块 对比C语言的网络编程,Node.js有更加简便的开发模式与模块提供.它就是net模块 在需要使用的时候只需要require("net")就可以引入模块了. var net = require("net"); 服务端编程 引入模块的前提下: 1. 创建一个新的TCP或IPC服务 var server = net.createServer(function(clie

Node.js Buffer模块功能及常用方法实例分析

本文实例讲述了Node.js Buffer模块功能及常用方法.分享给大家供大家参考,具体如下: Buffer模块 alloc()方法 alloc(size,fill,encoding)可以分配一个大小为 size 字节的新建的 Buffer,size默认为0 var buf = Buffer.alloc(10); 参数fill为填充的数据,只要指定了fill就会调用Buffer.fill(fill) 初始化这个Buffer对象 var buf = Buffer.alloc(10,0xff);//

全面解析Node.js 8 重要功能和修复

5月30日12点,Node.js 8正式发布了,这个版本具有一系列新功能和性能改进,并且这些功能和改进将获得长期支持(LTS). 下面就来介绍Node.js 8版本中最重要的功能和修复. 新版本的代号是Carbon.Node.js 8将从2017年10月起,正式成为当前的LTS版本,并持续到2019年12月31日.这也意味着Node.js 6版本将在2018年4月进入到维护模式,并在2019年4月结束维护支持. 下载Node.js 8版本:https://nodejs.org/download/

浅析Node.js查找字符串功能

需求如下: 整个目录下大概有40几M,文件无数,由于时间久了, 记不清那个字符串具体在哪个文件,于是.强大,亮瞎双眼的Node.js闪亮登场: windows下安装Node.js和安装普通软件毫无差别,装完后打开Node.js的快捷方式,或者直接cmd,你懂的. 创建findString.js var path = require("path"); var fs = require("fs"); var filePath = process.argv[2]; var

node.js模拟实现自动发送邮件验证码

目录 引言 1. QQ邮箱设置 2. 安装nodemailer 3.配置信息 4.综合 5.讲解 结束语 引言 我们在开发网站时,发送验证码的功能是必定会遇到的,但发送短信验证码是需要付费的,那么邮箱验证码就是一个白嫖的好办法,今天就来教大家用node如何自动发送邮箱验证码. 接下来跟着我的步骤走,就能轻松完成邮箱的自动发送 1. QQ邮箱设置 2. 安装nodemailer npm i -S nodemailer 3.配置信息 //1. 导入nodemailer const nodemaile

Node.js实战 建立简单的Web服务器

前面一章,我们介绍了Node.js这个面向互联网服务的JavaScript服务器平台,同时Node.js的运行环境已经搭建起来,并通过两段HelloWorld程序验证了Node.js的基本功能.本章我们同样通过实战的演练,利用Node.js建立一个简单的Web服务器. 如果你熟悉.NET或其他类似平台的Web开发,你可能会像,建立一个Web服务器有什么,在Visual Studio中建立一个Web工程,点击运行即可.事实的确是这样,但请不要忘记,这样的代价是,比如果说,你是用.NET开发Web应

Node.js如何实现注册邮箱激活功能 (常见)

一. 先注册一个支持发送验证邮件的邮箱,网易的126邮箱就可以 注册成功后进行登录,然后点击导航栏的设置,选择POP3/SMTP/IMAP,开启POP3/SMTP/IMAP服务,设置授权码就可以了. 二. 下载nodemailer插件 在命令行输入:npm install --save nodemailer 三. 编写发送邮件代码: 1 . 对发送激活邮件代码进行封装,然后导出: //email.js // 引入 nodemailer var nodemailer = require('node