diff --git a/scripts/odysseus-mail b/scripts/odysseus-mail index 06bf8d9cc..fcd8c6a5a 100755 --- a/scripts/odysseus-mail +++ b/scripts/odysseus-mail @@ -108,6 +108,8 @@ def _q(name: str) -> str: def _split_recipients(value: str) -> list[str]: + if not isinstance(value, str): + return [] return [r.strip() for r in (value or "").split(",") if r.strip()] diff --git a/tests/cli/test_mail_cli_recipients.py b/tests/cli/test_mail_cli_recipients.py index e21d70e6a..0e5e9fe7c 100644 --- a/tests/cli/test_mail_cli_recipients.py +++ b/tests/cli/test_mail_cli_recipients.py @@ -48,3 +48,10 @@ def test_recipient_list_rejects_empty_envelope(monkeypatch): assert exc.code == 1 else: raise AssertionError("expected empty recipient list to exit") + + +def test_split_recipients_ignores_non_string_values(monkeypatch): + cli = _load_mail_cli(monkeypatch) + + assert cli._split_recipients(None) == [] + assert cli._split_recipients(["a@example.test"]) == []