[{"data":1,"prerenderedAt":240},["ShallowReactive",2],{"doc-\u002Fintegrations\u002Femail":3},{"id":4,"title":5,"body":6,"description":230,"edit":231,"extension":232,"meta":233,"navigation":234,"path":235,"seo":236,"stem":237,"vertical":231,"weight":238,"__hash__":239},"content\u002Fintegrations\u002Femail.md","Email",{"type":7,"value":8,"toc":219},"minimark",[9,13,18,25,35,38,42,45,56,59,63,66,106,116,120,123,162,165,169,172,176,179,189,195,199],[10,11,12],"p",{},"Email is the most reliable outbound channel for cross-jurisdiction\noperators and for inspectors \u002F insurers who do not use Telegram.\nSlower than push (typical 5–30 s delivery), but accepted everywhere.",[14,15,17],"h2",{"id":16},"setup","Setup",[10,19,20,24],{},[21,22,23],"code",{},"Account → Integrations → Email → Recipients",". Add one or more\nemail addresses. Each address gets:",[26,27,28,32],"ul",{},[29,30,31],"li",{},"A verification mail (one-click).",[29,33,34],{},"A per-recipient subscription page (unsubscribe \u002F digest setting).",[10,36,37],{},"We use double opt-in by default: an address you add does not start\nreceiving alarms until the recipient clicks the verification link.\nThis is GDPR-aligned and keeps you out of spam folders.",[14,39,41],{"id":40},"routing","Routing",[10,43,44],{},"We send via Postmark with EU-only delivery routing for our account.\nThat means:",[26,46,47,50,53],{},[29,48,49],{},"All SMTP delivery attempts originate from EU IPs.",[29,51,52],{},"DKIM and SPF records are EU-resolved.",[29,54,55],{},"Postmark stores message metadata in the EU.",[10,57,58],{},"If your IT department is strict about non-EU mail processors,\nPostmark's EU pop is your control point.",[14,60,62],{"id":61},"deliverability","Deliverability",[10,64,65],{},"We have configured:",[26,67,68,79,89,97],{},[29,69,70,74,75,78],{},[71,72,73],"strong",{},"SPF",": ",[21,76,77],{},"v=spf1 include:spf.opensense.murzin.digital -all",".",[29,80,81,84,85,88],{},[71,82,83],{},"DKIM",": 2048-bit, key published at standard ",[21,86,87],{},"_domainkey"," selector.",[29,90,91,74,94,78],{},[71,92,93],{},"DMARC",[21,95,96],{},"p=quarantine; rua=mailto:dmarc@opensense.murzin.digital",[29,98,99,74,102,105],{},[71,100,101],{},"Reply-To",[21,103,104],{},"alerts@opensense.murzin.digital"," (a real, monitored\ninbox).",[10,107,108,109,112,113,78],{},"We do ",[71,110,111],{},"not"," send transactional and marketing from the same\nsubdomain. Marketing (if we ever do it) lives on ",[21,114,115],{},"marketing.…",[14,117,119],{"id":118},"what-lands-where","What lands where",[10,121,122],{},"A typical operator inbox sees:",[26,124,125,138,150],{},[29,126,127,130,131,134,135,78],{},[71,128,129],{},"Alarm notifications",": from ",[21,132,133],{},"alerts@",", subject prefix ",[21,136,137],{},"[ALARM] \u003Csite> \u003Cchannel>",[29,139,140,143,144,146,147,78],{},[71,141,142],{},"Daily digest"," (if enabled): from ",[21,145,133],{},", subject ",[21,148,149],{},"[OpenSense] daily digest \u003Csite>",[29,151,152,130,155,146,158,161],{},[71,153,154],{},"Monthly report",[21,156,157],{},"reports@",[21,159,160],{},"OpenSense report — \u003Cmonth> — \u003Csite>",", with the PDF attached.",[10,163,164],{},"If you see something else from us, it is a phishing attempt or a\nmistake; tell us.",[14,166,168],{"id":167},"rate-limiting","Rate limiting",[10,170,171],{},"10 messages per recipient per hour, hard cap. After that, additional\nevents queue and are batched into a single digest at the cap reset.\nThis is by design: a cascading-failure scenario should not produce\n60 emails \u002F hour that nobody reads.",[14,173,175],{"id":174},"digest","Digest",[10,177,178],{},"Configure per-recipient or per-site:",[180,181,186],"pre",{"className":182,"code":184,"language":185},[183],"language-text","PATCH \u002Fv1\u002Fintegrations\u002Femail\u002Fr_e1d2\n{\n  \"digest_min_interval_min\": 60,\n  \"send_immediate_for\": [\"alarm\"],\n  \"summary_only_for\": [\"device_offline\", \"silence_opened\"]\n}\n","text",[21,187,184],{"__ignoreMap":188},"",[10,190,191,194],{},[21,192,193],{},"alarm"," always goes immediate by default (override at your own\nrisk).",[14,196,198],{"id":197},"what-you-give-up","What you give up",[26,200,201,207,213],{},[29,202,203,206],{},[71,204,205],{},"No HTML email branding."," We send minimal-HTML messages.\nCustomers asking for full corporate HTML branding are an\nEnterprise tier conversation.",[29,208,209,212],{},[71,210,211],{},"No \"reply to acknowledge\"."," Use the click-through link in the\nemail body. Reply-tracking is a roadmap item; today the click is\nthe ack.",[29,214,215,218],{},[71,216,217],{},"No SMS fallback in Solo."," Email + Telegram cover the cases.\nTeam tier will add Twilio fallback for critical alarms.",{"title":188,"searchDepth":220,"depth":220,"links":221},3,[222,224,225,226,227,228,229],{"id":16,"depth":223,"text":17},2,{"id":40,"depth":223,"text":41},{"id":61,"depth":223,"text":62},{"id":118,"depth":223,"text":119},{"id":167,"depth":223,"text":168},{"id":174,"depth":223,"text":175},{"id":197,"depth":223,"text":198},"Recipient lists, deliverability, EU-only routing",null,"md",{},true,"\u002Fintegrations\u002Femail",{"title":5,"description":230},"integrations\u002Femail",620,"2jvDTGfFQz2FpKbzadfhj_XebOBKpeiho696IiUIakQ",1779022955185]