From edd2189f3c0863066d0826ac8dad2a809b866bf1 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Thu, 1 Jan 2026 23:24:11 -0300 Subject: [PATCH] nextcloud: make mail sync idempotent --- scripts/nextcloud-mail-sync.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/nextcloud-mail-sync.sh b/scripts/nextcloud-mail-sync.sh index 8cfbf64..816b56a 100755 --- a/scripts/nextcloud-mail-sync.sh +++ b/scripts/nextcloud-mail-sync.sh @@ -15,7 +15,14 @@ account_exists() { local email="${2}" # Nextcloud Mail does not provide a list command; export is safe (does not print passwords). - /usr/sbin/runuser -u www-data -- php occ mail:account:export "${user_id}" 2>/dev/null | grep -Fq -- "- E-Mail: ${email}" + local export + if ! export=$(/usr/sbin/runuser -u www-data -- php occ mail:account:export "${user_id}" 2>/dev/null); then + echo "WARN: unable to export mail accounts for ${user_id}; skipping sync for safety" >&2 + return 0 + fi + + # Output formatting varies by Nextcloud/Mail versions and locale; match by email address. + grep -Fq -- "${email}" <<<"${export}" } token=$(