1"use strict";(globalThis.webpackChunkmission_control=globalThis.webpackChunkmission_control||[]).push([[500],{24206(e,s,t){t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"installation/self-hosted/smtp","title":"SMTP / Email","description":"An SMTP server is required for sending notifications, approvals, user invites and password resets.","source":"@site/docs/installation/self-hosted/smtp.mdx","sourceDirName":"installation/self-hosted","slug":"/installation/self-hosted/smtp","permalink":"/docs/installation/self-hosted/smtp","draft":false,"unlisted":false,"editUrl":"https://github.com/flanksource/docs/tree/main/docs/installation/self-hosted/smtp.mdx","tags":[],"version":"current","frontMatter":{"title":"SMTP / Email","sidebar_custom_props":{"icon":"email"}},"sidebar":"overview","previous":{"title":"SSO (OIDC)","permalink":"/docs/installation/self-hosted/sso"},"next":{"title":"AWS EKS","permalink":"/docs/installation/self-hosted/eks"}}');var i=t(74848),o=t(28453);const r={title:"SMTP / Email",sidebar_custom_props:{icon:"email"}},l=void 0,c={},a=[];function d(e){const s={a:"a",code:"code",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.p,{children:"An SMTP server is required for sending notifications, approvals, user invites and password resets."}),"\n",(0,i.jsxs)(s.p,{children:["The format of ",(0,i.jsx)(s.code,{children:"connection_uri"})," is ",(0,i.jsx)(s.code,{children:"smtp|smtps://USER:PASS@host:PORT[?param=value]"})]}),"\n",(0,i.jsxs)(s.p,{children:["Use ",(0,i.jsx)(s.code,{children:"smtps"})," for implicit TLS sessions or ",(0,i.jsx)(s.code,{children:"smtp"})," for explicit StartTLS/cleartext sessions."]}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"Parameter"}),(0,i.jsx)(s.th,{children:"Description"}),(0,i.jsx)(s.th,{children:"Default"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"disable_starttls"})}),(0,i.jsxs)(s.td,{children:["When using ",(0,i.jsx)(s.code,{children:"smtp"})," scheme, set to ",(0,i.jsx)(s.code,{children:"true"})," to allow cleartext sessions or ",(0,i.jsx)(s.code,{children:"false"})," to enforce StartTLS"]}),(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"false"})})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"skip_ssl_verify"})}),(0,i.jsxs)(s.td,{children:["Set to ",(0,i.jsx)(s.code,{children:"true"})," to allow self-signed TLS certificates or ",(0,i.jsx)(s.code,{children:"false"})," to enforce certificate verification. Applies to both implicit and explicit TLS sessions"]}),(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"false"})})]})]})]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-yaml",metastring:'title="values.yaml"',children:'kratos:\n kratos:\n config:\n courier:\n smtp:\n connection_uri: # smtp://user:pass@localhost:25\n from_address: noreply@\n from_name: Mission Control\n # These headers will be passed in the SMTP conversation\n # e.g. when using the AWS SES SMTP interface for cross-account sending.\n headers: {}\n # Identifier used in the SMTP HELO/EHLO command.\n # Some SMTP relays require a unique identifier.\n local_name: ""\n'})}),"\n",(0,i.jsxs)(s.p,{children:["See also ",(0,i.jsx)(s.a,{href:"https://www.ory.sh/docs/kratos/self-hosted/email-http",children:"HTTP Webhooks"})," for sending emails."]})]})}function h(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},28453(e,s,t){t.d(s,{R:()=>r,x:()=>l});var n=t(96540);const i={},o=n.createContext(i);function r(e){const s=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.