ForgeTotal.js 5
ro

Total.js 5

Trimite-ți un mesaj cu LOGMAIL()

Total.js 5 · total5@0.0.19 mailsmtplogging Executată cu Total.js 5

LOGMAIL(email, [subject], body, [callback]) trimite un mesaj făcut pentru dezvoltator, nu pentru un client: fără view și fără layout. Corpul este un text. Textul intră într-un pre, într-o mică pagină HTML, astfel încât rupturile de rând și spațiile se păstrează; este pus ca atare, deci nu trimite HTML în care nu ai încredere. Fără subject, subiectul este numele aplicației (name din config).

Trimite corpul ca text. Pentru un obiect folosește JSON.stringify(object, null, 2), ca în a doua rută de mai jos.

Folosește același server SMTP, același expeditor și aceeași coadă ca MAIL() (mail_smtp, mail_smtp_options, mail_from din config). Este gândit pentru lucruri precum „importul a eșuat” cu datele pe care trebuie să le vezi.

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