ForgeTotal.js 5
el

Total.js 5

Στείλτε στον εαυτό σας ένα μήνυμα με το LOGMAIL()

Total.js 5 · total5@0.0.19 mailsmtplogging Εκτελέστηκε με το Total.js 5

Το LOGMAIL(email, [subject], body, [callback]) στέλνει ένα μήνυμα φτιαγμένο για τον προγραμματιστή, όχι για έναν πελάτη: χωρίς προβολή και χωρίς layout. Το σώμα είναι ένα κείμενο. Το κείμενο μπαίνει μέσα σε ένα pre, σε μια μικρή σελίδα HTML, ώστε οι αλλαγές γραμμής και τα κενά να διατηρούνται· τοποθετείται όπως είναι, γι' αυτό μη στέλνετε μη αξιόπιστο HTML. Χωρίς subject το θέμα είναι το όνομα της εφαρμογής (το name στο config).

Περάστε το σώμα ως κείμενο. Για αντικείμενο χρησιμοποιήστε JSON.stringify(object, null, 2), όπως κάνει η δεύτερη διαδρομή παρακάτω.

Χρησιμοποιεί τον ίδιο διακομιστή SMTP, αποστολέα και ουρά με το MAIL() (mail_smtp, mail_smtp_options, mail_from στο config). Προορίζεται για πράγματα όπως «η εισαγωγή απέτυχε» με τα δεδομένα που χρειάζεστε να δείτε.

config
name : Log mail example
mail_smtp : 127.0.0.1
mail_smtp_options : { port: 2527 }
mail_from : hello@example.com
mail_from_name : Example
controllers/log.js
exports.install = function() {
	ROUTE('POST /alert/ @json', alert);
	ROUTE('POST /alert-object/ @json', alert_object);
	ROUTE('POST /alert-raw/ @json', alert_raw);
};

function alert($) {
	LOGMAIL('ops@example.com', 'Import failed', 'Line 1\nLine 2', function(err) {
		$.json({ sent: !err, error: err ? err.toString() : null });
	});
}

function alert_object($) {
	// without a subject: the subject is the name of the application; the object is written by us
	LOGMAIL('ops@example.com', JSON.stringify({ rows: 12, failed: ['a', 'b'] }, null, 2), function(err) {
		$.json({ sent: !err, error: err ? err.toString() : null });
	});
}

function alert_raw($) {
	// the object itself: it throws in total5 0.0.19
	try {
		LOGMAIL('ops@example.com', { rows: 12 }, NOOP);
		$.json({ thrown: false });
	} catch (e) {
		$.json({ thrown: true, error: e.message });
	}
}