ホームページ >ウェブフロントエンド >jsチュートリアル >中国語ファイルのエンコーディングの問題の読み取り、電子メールの送信、および Nodejs_node.js でのスケジュールされたタスクの例
nodejs で中国語のファイルを読み取るには時間がかかりました。インターネット上にはさまざまな解決策がありましたが、幸いなことにどれも解決できませんでした。
次の 3 つのナレッジ ポイントがプロジェクトから抽出されます。スクリプトを個別に実行する場合は、中国語変換モジュールのインストールなど、グローバル モードを使用してモジュールをインストールする必要があります (これは、中国語変換モジュールのインストールにも必要です)。将来的には他のことも):
npm install -g nodemailer
npm install -g node-schedule
1. Nodejs の中国語ファイルのエンコーディングの問題
テキストファイル(もちろんcsvファイルなどでも可)test.txtとtext.csvを用意し、nodejsファイルtest.jsは以下の通りです。
var buf = new Buffer(fileStr, 'binary');
var str = iconv.decode(buf, 'GBK');
もっと見る:
2.nodejs でメールを送信します
何も言わずに、コードを直接記述するだけです。シンプルで理解しやすいです:
var Transporter = nodemailer.createTransport('SMTP',{
サービス: '163qiye'、
認証: {
ユーザー: 'zhoujie0111@126.com',
パス: '123456'、
}
});
var sendmail = function(html){
var オプション = {
from: "zhoujie0111@126.com"、
宛先:「zhoujie0111@126.com,zhoujie0111@126.com」、
cc:'zhoujie0111@126.com'
}
option.subject = '5年前に立てた5か年計画'
option.html= html;
Transporter.sendMail(オプション, 関数(エラー, 応答){
if(エラー){
console.log("fail: " エラー);
}その他{
console.log("成功: " 応答.メッセージ);
}
});
}
sendmail("メールの内容:
2015 年の目標は、2012 年に約束し、2011 年に計画したので、2013 年に達成すべきだった 2014 年の目標を達成することです!");
3.nodejs のスケジュールされたタスク
これを使用する方法はたくさんあります。Linux の crontab 構文に慣れている場合は、さらに簡単になります。私の Zou の例はとても調和的です (笑):
/*方法 1:
タスクを実行する特定の時間を指定します
*/
var スケジュール = require('node-schedule');
var date = new Date(2014, 12, 31, 16, 1, 0);
var j =Schedule.scheduleJob(date, function(){
console.log('2015 年がもうすぐ始まります。');
});
/*方法 2:
毎時何分に実行するか
*/
var ルール = 新しいスケジュール.RecurrenceRule();
ルール.分 = 1;
var j = スケジュール.scheduleJob(ルール, 関数(){
console.log('今はとても幸せです!');
});
/*方法 3:
crontab
に似ている
*/
var j =schedule.scheduleJob('1 * * * *', function(){
console.log('アフタヌーンティーの時間です!');
});
実行結果はより調和のとれたものになりました (笑):
最初にスケジュールされたタスクがなぜ実行されないのか不思議ではありません。これはグリニッジ標準時なので、実行するまでに 8 時間待つ必要があります。はぁ~~
詳細: ノードスケジュール
悲しい音楽を一日聞いた後、聞けば聞くほど幸せになります。はは