diff --git a/scripting/bin/administration/diagnostics.py b/scripting/bin/administration/diagnostics.py index 3c47a65dd81ac347ff02891130e3dfc0c4a975da..8b71cf3cfe764d4e2f50e6117bbaa1f1228c49ca 100755 --- a/scripting/bin/administration/diagnostics.py +++ b/scripting/bin/administration/diagnostics.py @@ -123,21 +123,28 @@ def test_imports(modules): result[m] = (False, str(e)) return result + def test_send_mail(): result = dict() import caosdb from caosadvancedtools.serverside import helper test_mail_to = get_option("test-mail-to") test_mail_from = get_option("test-mail-from") + result["sendmail_bin"] = get_option("test-sendmail-bin", - caosdb.get_config()["Misc"]["sendmail"]) + caosdb.get_config()["Misc"]["sendmail"] if "Misc" in caosdb.get_config() and "sendmail" in caosdb.get_config()["Misc"] else None) if test_mail_to is not None and test_mail_from is not None: - helper.send_mail(from_addr=test_mail_from, - to=test_mail_to, - subject="CaosDB Test Mail", - body=("This is a test mail from the diagnostics.py " - "server-side script"), - send_mail_bin=result["sendmail_bin"]) + try: + helper.send_mail(from_addr=test_mail_from, + to=test_mail_to, + subject="CaosDB Test Mail", + body=("This is a test mail from the diagnostics.py " + "server-side script"), + send_mail_bin=result["sendmail_bin"]) + except Exception as e: + if hasattr(e, "stderr"): + print(e.stderr, file=sys.stderr) + raise e return result