Trimite-ți un mesaj cu LOGMAIL()
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.
name : Log mail example
mail_smtp : 127.0.0.1
mail_smtp_options : { port: 2527 }
mail_from : hello@example.com
mail_from_name : Exampleexports.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 });
}
}