Email alerts to default contact instead of system contact

We have a device where the system contact was incorrect (set to the same as default). Once we received an alert, we attempted to change it, down to the level of deleting the device and rediscovering it, with the correct System Contact. Alerts are still coming to the default contact and not to the system contact. Is there something I am missing here?

./validate.php

Component Version
LibreNMS 1.55-41-g5a8d3aee58
DB Schema 2019_09_05_153524_create_notifications_attribs_index (141)
PHP 7.2.17-0ubuntu0.18.04.1
MySQL 10.1.38-MariaDB-0ubuntu0.18.04.1
RRDTool 1.7.0
SNMP NET-SNMP 5.7.3

====================================

[OK] Composer Version: 1.9.0
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct

This gets more confusing…
I realised that the System Contact did not have an email transport, so I created a matching one. Now the default alert claims to have sent an alert there, only it did not…

Running it through test-alert.php, I can see that the syscontact is returned as:

System Contact sys.contact@mydomain

and then I get:

Preformatted textSQL[SELECT * FROM devices_attribs WHERE device_id = ? [279] 0.16ms]

SQL[select * from device_perf where device_id = ? order by timestamp desc limit 1 [279] 1.01ms]

SQL[select * from alert_templates where exists (select * from alert_template_map where alert_templates.id = alert_template_map.alert_templates_id and alert_rule_id = ?) limit 1 [5] 0.69ms]

Issuing Alert-UID #18443/1:
SQL[SELECT rule_id FROM alerts WHERE id=? [3771] 0.24ms]

SQL[SELECT b.transport_id, b.transport_type, b.transport_name FROM alert_transport_map AS a LEFT JOIN alert_transports AS b ON b.transport_id=a.transport_or_group_id WHERE a.target_type=‘single’ AND a.rule_id=? UNION DISTINCT SELECT d.transport_id, d.transport_type, d.transport_name FROM alert_transport_map AS a LEFT JOIN alert_transport_groups AS b ON a.transport_or_group_id=b.transport_group_id LEFT JOIN transport_group_transport AS c ON b.transport_group_id=c.transport_group_id LEFT JOIN alert_transports AS d ON c.transport_id=d.transport_id WHERE a.target_type=‘group’ AND a.rule_id=? [5,5] 0.77ms]

SQL[SELECT transport_id, transport_type, transport_name FROM alert_transports WHERE is_default=true [] 0.27ms] Preformatted text

which then emails the default only…

I got it to work by enabling email alerts in the global config - at least it emailed the sys contact as well as the default. Not really what I want, but I thought email alerts from the global config was deprecated? Am I wrong? …and how do I stop it from emailing the default contact?

uncheck the default contact in the general alert settings. All deprecated settings have been removed now.

Done that thanks - we’ll see how it goes…