agessaman
88feb2e33e
refactor(maintenance): one SMTP settings reader and sender for the nightly digest and radio alerts
...
send_nightly_email, send_zombie_alert_email and send_radio_offline_alert_email each read the same notif.* SMTP settings, parsed the port the same way, and repeated the same SSL/STARTTLS/plain transport. maintenance.read_smtp_settings returns an SmtpSettings record and send_smtp_message delivers a message with it. Each sender keeps its own enable checks, recipients, validation messages and body.
Full suite: all pass except tests/unit/test_wx_location_prefix_budget.py::test_a_prefix_is_actually_in_play, which makes a live Nominatim call and fails the same way on dev at the moment.
2026-10-01 07:26:06 -07:00
..
2026-07-28 20:08:57 -07:00
2026-10-01 06:53:14 -07:00
2026-10-01 06:53:14 -07:00
2026-10-01 06:07:54 -07:00
2026-10-01 07:10:45 -07:00
2025-09-04 15:33:51 -07:00
2026-10-01 06:14:25 -07:00
2026-09-07 15:13:18 -07:00
2026-05-30 21:54:27 -07:00
2026-10-01 01:15:19 -07:00
2026-10-01 06:53:14 -07:00
2026-07-07 09:37:28 -07:00
2026-09-22 16:21:54 -07:00
2026-07-28 20:07:58 -07:00
2026-09-15 22:34:46 -07:00
2026-10-01 06:53:14 -07:00
2026-07-16 10:21:50 -07:00
2026-09-15 22:34:46 -07:00
2026-09-15 22:34:46 -07:00
2026-07-30 08:06:21 -07:00
2026-03-17 18:07:18 -07:00
2026-04-03 11:15:47 -07:00
2026-09-07 15:45:49 -07:00
2026-10-01 06:53:14 -07:00
2026-10-01 06:00:29 -07:00
2026-10-01 01:59:03 -07:00
2026-03-30 17:36:52 -07:00
2026-10-01 01:38:51 -07:00
2026-09-07 20:28:45 -07:00
2026-08-22 00:16:03 -07:00
2026-10-01 02:16:16 -07:00
2026-07-28 12:44:53 -07:00
2026-10-01 06:53:14 -07:00
2026-10-01 06:14:25 -07:00
2026-10-01 07:26:06 -07:00
2026-08-02 09:48:05 -07:00
2026-09-14 21:31:11 -07:00
2026-10-01 06:53:14 -07:00
2026-10-01 02:02:34 -07:00
2026-09-19 09:12:07 -07:00
2026-10-01 05:54:56 -07:00
2026-07-28 20:08:23 -07:00
2026-10-01 06:53:14 -07:00
2026-04-14 10:14:38 -07:00
2026-10-01 07:06:34 -07:00
2026-09-23 21:38:19 -07:00
2026-09-23 21:38:19 -07:00
2026-10-01 01:19:43 -07:00
2026-09-07 16:16:33 -07:00
2026-10-01 02:27:35 -07:00
2026-08-21 23:32:45 -07:00
2026-08-04 20:33:26 -07:00
2026-10-01 07:26:06 -07:00
2026-10-01 02:27:35 -07:00
2026-07-22 14:15:51 -07:00
2026-07-16 10:40:37 -07:00
2026-09-13 18:36:29 -07:00
2026-07-28 20:07:58 -07:00
2026-07-28 17:14:57 -07:00
2026-03-17 18:07:18 -07:00
2026-07-28 20:08:57 -07:00
2026-09-07 15:45:49 -07:00
2026-10-01 01:07:29 -07:00
2026-08-02 09:48:05 -07:00
2026-10-01 06:29:04 -07:00