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

> Στείλτε ένα μήνυμα απλού κειμένου ή JSON σε μια διεύθυνση χωρίς προβολή, για αρχεία καταγραφής και ειδοποιήσεις, με τις ίδιες ρυθμίσεις SMTP όπως το MAIL().

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: el
Content-SHA256: 8f475d2675e3ede82aae271b080912bb61f9f1afb02195f7f2c68552e655d81a
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Το `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`). Προορίζεται για πράγματα όπως «η εισαγωγή απέτυχε» με τα δεδομένα που χρειάζεστε να δείτε.

```text 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
```

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