Contact form: SMTP_FROM=hello@where-woof.com (SES-ready), add Reply-To
This commit is contained in:
@@ -72,6 +72,13 @@ func sendContactEmail(name, email, subject, message string) error {
|
||||
if port == "" {
|
||||
port = "587"
|
||||
}
|
||||
// Sender address on the envelope + From header. Defaults to hello@where-woof.com
|
||||
// (SES verified identity). For Gmail SMTP this is ignored/overridden by the
|
||||
// authenticated user, so it stays safe either way.
|
||||
from := os.Getenv("SMTP_FROM")
|
||||
if from == "" {
|
||||
from = "hello@where-woof.com"
|
||||
}
|
||||
|
||||
subj := subject
|
||||
if subj == "" {
|
||||
@@ -80,7 +87,8 @@ func sendContactEmail(name, email, subject, message string) error {
|
||||
body := fmt.Sprintf("From: %s <%s>\nSubject: %s\n\n%s", name, email, subj, message)
|
||||
|
||||
msg := []byte("To: " + to + "\r\n" +
|
||||
"From: " + user + "\r\n" +
|
||||
"From: " + from + "\r\n" +
|
||||
"Reply-To: " + email + "\r\n" +
|
||||
"Subject: " + subj + "\r\n" +
|
||||
"MIME-Version: 1.0\r\n" +
|
||||
"Content-Type: text/plain; charset=utf-8\r\n" +
|
||||
@@ -88,5 +96,5 @@ func sendContactEmail(name, email, subject, message string) error {
|
||||
|
||||
addr := host + ":" + port
|
||||
auth := smtp.PlainAuth("", user, pass, host)
|
||||
return smtp.SendMail(addr, auth, user, []string{to}, msg)
|
||||
return smtp.SendMail(addr, auth, from, []string{to}, msg)
|
||||
}
|
||||
12
todo.txt
12
todo.txt
@@ -14,7 +14,7 @@ x 2026-08-07 (A) Edit this tags details allowed me to edit +project:where-woof
|
||||
x 2026-08-07 (B) Scan-flow: re-alert when different finder phone within 250 m window +project:where-woof +agent:right-monitor-pi-coding
|
||||
x 2026-08-07 (B) Scan-flow: browser fingerprint + 24 h block, store in DB +project:where-woof +agent:right-monitor-pi-coding
|
||||
x 2026-08-07 (B) Preset tag-ID registry: seed real manufactured IDs, enforce registry-only (anti-scam) +project:where-woof +agent:right-monitor-pi-coding
|
||||
(B) Billing phase (Stripe AU, plans, scan limits, paid-gating) +project:where-woof +agent:where_woof
|
||||
x 2026-09-01 (B) Billing phase (Stripe AU, plans, scan limits, paid-gating) +project:where-woof +agent:where_woof
|
||||
(C) Photo uploads + object storage (Phase 6 — basic local upload done) +project:where-woof +agent:where_woof
|
||||
(C) Anti-abuse hardening (relay numbers, rate limits — Phase 9) +project:where-woof +agent:where_woof
|
||||
(C) Live SMS creds on .13 service env (uncomment SMS_USER/PASSWORD/FROM in ~/.config/where-woof.env) +project:where-woof +agent:where_woof
|
||||
@@ -26,7 +26,9 @@ x 2026-08-08 2026-08-08 Billing phase +
|
||||
(A) Do we tie this all into an established Open Source inventory payment system - keep qick dash for now? +area:CONCEPT
|
||||
(A) Order-tags. Tie in the inventory system? +area:Where-woof
|
||||
(A) General webiste pages - what is this? Get in touch? About Us. +area:Where-woof
|
||||
(A) Order tags page + promotion banner (Protect & Recover Valuables — Order now) +project:where-woof +agent:where_woof
|
||||
(A) Red promo banner on tag/about/contact/what-is-this pages +project:where-woof +agent:where_woof
|
||||
(A) Get in touch page: hello@where-woof.com + contact form +project:where-woof +agent:where_woof
|
||||
(C) Verify coordinates in scan/location flow +project:where-woof +agent:where_woof
|
||||
x 2026-09-01 (A) Order tags page + promotion banner (Protect & Recover Valuables — Order now) +project:where-woof +agent:where_woof
|
||||
x 2026-09-01 (A) Red promo banner on tag/about/contact/what-is-this pages +project:where-woof +agent:where_woof
|
||||
x 2026-09-01 (A) Get in touch page: hello@where-woof.com + contact form +project:where-woof +agent:where_woof
|
||||
x 2026-09-01 (C) Verify coordinates in scan/location flow +project:where-woof +agent:where_woof
|
||||
(A) Go live: Stripe onboarding + live keys + live payment links +project:where-woof +agent:where_woof
|
||||
(B) hello@where-woof.com email routing (Cloudflare/SES) +project:where-woof +agent:where_woof
|
||||
|
||||
Reference in New Issue
Block a user