Files
felhom.eu/documentation/audits/website-refresh-2026-10-08/mailer.md
T
admin 67b3fd23d1
gates / gates (push) Failing after 13m1s
website refresh: true numbers (56 apps), claims checked against the capability map, ten missing apps, an English twin of every public page (public, choice B), 404 page; site gates 13-18 + 11 decoys; R-902 opened
Part A: claim table documentation/audits/website-refresh-2026-10-08/claims.md; "100% open source" corrected
from the licence read; unbacked claims cut (firewall, RAID, snapshots, new-machine restore, self-managed
mode, household VPN, "never lost"). Part B: dawarich, docmost, grimmory, homebox, karakeep, mealie, metube,
radicale, recipe-importer, sparkyfitness cards; plant-it and wger cut (not offered). Part C: /en/ twins,
nav language switch, hreflang both ways, sitemap with xhtml:link, og-image-en.png. Part D: site_gates.py
twins/lang/same-apps/no-Hungarian/FAQ-JSON-LD/tail. Operator ruling 9 + choice B in 10-localisation.md §11,
§10.7. Register: R-902 (contact mailer source in no repo); R-813, R-784, R-559 annotated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
2026-10-08 08:29:17 +02:00

2.6 KiB

The contact mailer — where its source is, and what it sends (2026-10-08)

Read-only. Method: the manifest, a search for the source, and strings of the binary copied out of the running pod (kubectl exec … cat /app/contact-mailer, no change to the pod).

Manifest

5:#   1. Build and push the container image:
53:          image: contact-mailer:latest
55:          imagePullPolicy: Never
66:            - name: FROM_EMAIL
67:              value: "Felhom.eu <noreply@felhom.eu>"
68:            - name: TO_EMAIL
69:              value: "info@felhom.eu"
70:            - name: ALLOWED_ORIGIN
71:              value: "https://felhom.eu"
73:              value: "Europe/Budapest"
76:              value: "false"

Source search (all empty except the manifest)

$ git -C felhom.eu log --all --name-only --format= | grep -i -E "mailer|contact" | sort -u
manifests/contact-mailer.yaml
$ find /mnt/5_hdd/felhom.eu ~ -maxdepth 5 -iname '*contact-mailer*'
/mnt/5_hdd/felhom.eu/git/felhom.eu/manifests/contact-mailer.yaml

The running pod

total 5768
drwxr-xr-x    1 appuser  appuser       4096 Feb  5  2026 .
drwxr-xr-x    1 root     root          4096 Jun 29 07:51 ..
-rwxr-xr-x    1 root     root       5894296 Feb  5  2026 contact-mailer

Functions in the binary (strings | grep ^main.)

main.(*rateLimiter).allow
main.(*rateLimiter).allow.deferwrap1
main.(*rateLimiter).cleanupLoop
main.buildEmailHTML
main.corsMiddleware
main.getClientIP
main.getEnv
main.handleContact
main.handleContact.Printf.func1
main.handleContact.Printf.func2
main.handleContact.Printf.func3
main.handleContact.Printf.func4
main.handleContact.Printf.func5
main.handleContact.Printf.func6
main.handleContact.Printf.func7
main.handleContact.deferwrap1
main.handleDebugTest
main.handleDebugTest.Printf.func1
main.handleDebugTest.Printf.func2
main.handleHealth
main.init
main.isValidEmail
main.jsonError
main.jsonResponse
main.jsonSuccess
main.loadConfig
main.main
main.main.Printf.func2
main.main.Printf.func3
main.main.corsMiddleware.func1
main.mustEnv
main.newRateLimiter
main.newRateLimiter.gowrap1
main.processAttachment
main.processAttachment.deferwrap1
main.sendViaResend
main.sendViaResend.deferwrap1

Visible strings that decide the answer

Csatolm
json:"reply_to,omitempty"

Reading: one sendViaResend per form, to TO_EMAIL (info@felhom.eu), with reply_to set to the visitor; no second send (no confirmation to the visitor). The operator's notification HTML is Hungarian. The page shows its own status messages, not the server's (kapcsolat.html / en/contact.html showStatus), so the English page needs no mailer change. Gap: R-902.