more config part 4
This commit is contained in:
parent
db846c890e
commit
fa246b2fa8
3 changed files with 33 additions and 8 deletions
17
README.md
Normal file
17
README.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
# I-Ching
|
||||
|
||||
The I-Ching (a.k.a. the *Book of Changes*) is an ancient method of divination based on
|
||||
cleromancy (assigning meaning to the generation of apparently random numbers.) Six numbers
|
||||
between 6 and 9 are generated in order to create a hexagram, the meaning of which is
|
||||
contained in the I Ching book.
|
||||
|
||||
You can find lots of great information on the 2000+ year history of the I-Ching on
|
||||
[Wikipedia](https://en.wikipedia.org/wiki/I_Ching)
|
||||
|
||||
This app will send an I-Ching horoscope to the pre-configured mailhog instance in configurable intervalls.
|
||||
|
||||
This app uses the I-Ching library app https://github.com/Velfi/i-ching.git.
|
||||
|
||||
## Configuration
|
||||
It is possible to configure the intervall of days between the sending of horoscopes and the time of sending.
|
||||
|
20
broker.ts
20
broker.ts
|
@ -6,6 +6,8 @@ interface Config {
|
|||
daysInterval: number;
|
||||
timeOfDay: string;
|
||||
emailReceiver: string;
|
||||
mailHost: string;
|
||||
mailPort: number;
|
||||
}
|
||||
|
||||
// Node structure for the Parse Tree (it's a degenerated tree with one or zero children per node)
|
||||
|
@ -19,13 +21,6 @@ var config : Config;
|
|||
|
||||
const nodemailer = require('nodemailer');
|
||||
|
||||
// Create Transporter
|
||||
const transporter = nodemailer.createTransport({
|
||||
host: "mailhog.mailhog.svc.cluster.local", // MailHog ClusterIP
|
||||
port: 1025, // Standard-MailHog SMTP-Port
|
||||
secure: false // MailHog needs no encryption
|
||||
});
|
||||
|
||||
function executeCommand(): void {
|
||||
|
||||
exec('iching divine', (error, stdout, stderr) => {
|
||||
|
@ -73,6 +68,17 @@ function loadConfig(): Config {
|
|||
|
||||
// Send E-Mail
|
||||
async function sendEmail(content: string) {
|
||||
|
||||
// Create Transporter
|
||||
const transporter = nodemailer.createTransport({
|
||||
//host: "mailhog.mailhog.svc.cluster.local", // MailHog ClusterIP
|
||||
host: config.mailHost,
|
||||
//port: 1025, // Standard-MailHog SMTP-Port
|
||||
port: config.mailPort,
|
||||
secure: false // MailHog needs no encryption
|
||||
});
|
||||
|
||||
|
||||
try {
|
||||
const info = await transporter.sendMail({
|
||||
from: '"The Oracle" <the.oracle@holy.mountain>',
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
{
|
||||
"daysInterval": 2,
|
||||
"timeOfDay": "8:00",
|
||||
"emailReceiver": "test@mailhog.local"
|
||||
"emailReceiver": "test@mailhog.local",
|
||||
"mailHost": "mailhog.mailhog.svc.cluster.local",
|
||||
"mailPort": 1025
|
||||
}
|
Loading…
Reference in a new issue