From 982f24c5f54b7b32aa14ad9621b9a7156aeea4e0 Mon Sep 17 00:00:00 2001 From: Hemna Date: Thu, 21 Jan 2021 13:50:19 -0500 Subject: [PATCH] Allow email to be disabled. The config file defaults to email being off now. This requires the user to set the email settings anyway, so the default is off. --- aprsd/main.py | 24 ++++++++++++++++-------- aprsd/plugins/email.py | 3 +++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/aprsd/main.py b/aprsd/main.py index 618bc78..b20c4a9 100644 --- a/aprsd/main.py +++ b/aprsd/main.py @@ -417,12 +417,17 @@ def server( setup_logging(config, loglevel, quiet) LOG.info("APRSD Started version: {}".format(aprsd.__version__)) - # TODO(walt): Make email processing/checking optional? - # Maybe someone only wants this to process messages with plugins only. - valid = email.validate_email_config(config, disable_validation) - if not valid: - LOG.error("Failed to validate email config options") - sys.exit(-1) + email_enabled = config["aprsd"]["email"].get("enabled", False) + + if email_enabled: + # TODO(walt): Make email processing/checking optional? + # Maybe someone only wants this to process messages with plugins only. + valid = email.validate_email_config(config, disable_validation) + if not valid: + LOG.error("Failed to validate email config options") + sys.exit(-1) + else: + LOG.info("Email services not enabled.") # Create the initial PM singleton and Register plugins plugin_manager = plugin.PluginManager(config) @@ -448,8 +453,11 @@ def server( rx_thread = threads.APRSDRXThread(msg_queues=msg_queues, config=config) tx_thread = threads.APRSDTXThread(msg_queues=msg_queues, config=config) - email_thread = email.APRSDEmailThread(msg_queues=msg_queues, config=config) - email_thread.start() + + if email_enabled: + email_thread = email.APRSDEmailThread(msg_queues=msg_queues, config=config) + email_thread.start() + rx_thread.start() tx_thread.start() diff --git a/aprsd/plugins/email.py b/aprsd/plugins/email.py index 1372327..b13bffa 100644 --- a/aprsd/plugins/email.py +++ b/aprsd/plugins/email.py @@ -21,6 +21,9 @@ class EmailPlugin(plugin.APRSDPluginBase): def command(self, fromcall, message, ack): LOG.info("Email COMMAND") reply = None + if not self.config["aprsd"]["email"].get("enabled", False): + LOG.debug("Email is not enabled in config file ignoring.") + return "Email not enabled." searchstring = "^" + self.config["ham"]["callsign"] + ".*" # only I can do email