ForgeTotal.js 5
fr

Total.js 5

Envoyez-vous un message avec LOGMAIL()

Total.js 5 · total5@0.0.19 mailsmtplogging Exécutée avec Total.js 5

LOGMAIL(email, [subject], body, [callback]) envoie un message destiné au développeur, pas à un client : sans vue ni layout. Le corps est un texte. Le texte est placé dans un pre, dans une petite page HTML, de sorte que les sauts de ligne et les espaces sont conservés ; il est inséré tel quel, n'envoyez donc pas de HTML non fiable. Sans subject, le sujet est le nom de l'application (name dans le config).

Passez le corps sous forme de texte. Pour un objet, utilisez JSON.stringify(object, null, 2), comme le fait la seconde route ci-dessous.

Il utilise le même serveur SMTP, le même expéditeur et la même file que MAIL() (mail_smtp, mail_smtp_options, mail_from dans le config). Il est destiné à des cas comme « l'import a échoué » avec les données que vous avez besoin de voir.

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