ForgeTotal.js 5
bg

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