Heim  >  Artikel  >  Web-Frontend  >  Lesen Sie chinesische Dateikodierungsprobleme, das Senden von E-Mails und Beispiele für geplante Aufgaben in Nodejs_node.js

Lesen Sie chinesische Dateikodierungsprobleme, das Senden von E-Mails und Beispiele für geplante Aufgaben in Nodejs_node.js

WBOY
WBOYOriginal
2016-05-16 16:22:411451Durchsuche

Es hat viel Zeit gekostet, chinesische Dateien mit nodejs zu lesen. Es gab verschiedene Lösungen im Internet, aber zum Glück hat es nicht funktioniert.

Die folgenden drei Wissenspunkte werden aus dem Projekt extrahiert. Wenn Sie das Skript separat ausführen möchten, müssen Sie den globalen Modus verwenden, um das Modul zu installieren, z. B. die Installation des chinesischen Konvertierungsmoduls (Sie müssen dies auch tun). andere Dinge in der Zukunft):

Code kopieren Der Code lautet wie folgt:

npm install -g iconv-lite

npm install -g nodemailer

npm install -g node-schedule

1. Nodejs lesen chinesisches Dateikodierungsproblem

Bereiten Sie eine Textdatei (natürlich kann es auch eine CSV-Datei usw. sein) test.txt und text.csv vor, und die NodeJS-Datei test.js lautet wie folgt:

Code kopieren Der Code lautet wie folgt:

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);

Wenn Sie die Datei direkt lesen, ist sie verstümmelt. Wenn Sie es nicht glauben, können Sie es versuchen. Es ist notwendig, zuerst einheitlich mit binärer Codierung zu lesen und dann GBK zum Decodieren zu verwenden. Die Laufergebnisse lauten wie folgt:

Weitere Informationen: iconv-lite

2. E-Mail mit nodejs senden

Sagen Sie nichts, schreiben Sie einfach den Code direkt, er ist einfach und leicht zu verstehen:

Code kopieren Der Code lautet wie folgt:

var nodemailer = require('nodemailer');

//E-Mail konfigurieren
var transporter = nodemailer.createTransport('SMTP',{
Dienst: '163qiye',
Authentifizierung: {
         Benutzer: 'zhoujie0111@126.com',
Pass: '123456',
}
});

//E-Mail senden
var sendmail = function(html){
var option = {
                                                                                                                                                                             Von: „zhoujie0111@126.com“,
                 an:"zhoujie0111@126.com,zhoujie0111@126.com",
              cc:'zhoujie0111@126.com'
}
​ option.subject = 'Der Fünfjahresplan, den ich vor 5 Jahren erstellt habe'
​ option.html= html;
Transporter.sendMail(option, function(error, Response){
          if(error){
console.log("fail: " error);
         }sonst{
console.log("success: " Response.message);
}
});
}

//Anrufen, um E-Mail zu senden
sendmail("E-Mail-Inhalt:
Mein Ziel für 2015 ist es, die Ziele von 2014 zu erreichen, was ich 2013 hätte erreichen sollen, weil ich 2012 ein Versprechen gegeben und 2011 geplant habe!");

Weitere Informationen: Nodemailer

3. Nodejs geplante Aufgaben

Es gibt viele Möglichkeiten, dies zu verwenden. Wenn Sie mit der Linux-Crontab-Syntax vertraut sind, ist dies noch einfacher. Dieses Beispiel meines Zou ist sehr harmonisch, haha:

Code kopieren Der Code lautet wie folgt:

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

/*Methode 1:
Geben Sie eine bestimmte Zeit für die Ausführung der Aufgabe an
*/
var Schedule = require('node-schedule');
var date = neues Datum(2014, 12, 31, 16, 1, 0);

var j = Schedule.scheduleJob(date, function(){
console.log('2015 kommt bald.');
});

/*Methode 2:
Wie viele Minuten jeder Stunde ausgeführt werden sollen
*/
var Rule = neuer Zeitplan.RecurrenceRule();
Rule.minute = 1;
var j = Schedule.scheduleJob(rule, function(){
console.log('Ich bin jetzt sehr glücklich!');
});

/*Methode 3:
Ähnlich wie crontab
*/
var j = Schedule.scheduleJob('1 * * * *', function(){
console.log('Es ist Zeit für den Nachmittagstee!');
});

Das Laufergebnis ist harmonischer, haha:

Wundern Sie sich nicht, warum die erste geplante Aufgabe nicht ausgeführt wird, da dies die Greenwich Mean Time ist und die Ausführung 8 Stunden dauern muss. Haha~~

Weitere Informationen: Node-Schedule

Nachdem ich einen Tag lang traurige Musik gehört habe, werde ich umso glücklicher, je mehr ich sie höre. Haha

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn