[{"data":1,"prerenderedAt":14},["ShallowReactive",2],{"$fxd95eESWOwIuZOeMaE6jStr9ekbovlhPVd2Y5f5iRWY":3},{"title":4,"slug":5,"description":6,"excerpt":7,"category":8,"order":9,"screens":10,"html":13},"Store the original email (.eml) in your own bucket","store-original-emails","Keep every received message byte for byte as an .eml file in your own S3 bucket, for compliance archiving or to re-parse it later, and decide whether stored files outlive the retention period.","Keep every received message byte for byte as an .eml file in your own S3 bucket, and decide whether stored files outlive the retention period.","configuration",8,[11,12],"aliases","settings-data","\u003Cp>EmailConnect turns each email into a JSON payload for your webhook. Some workflows also need the message exactly as it arrived: a law firm archiving correspondence, an audit trail that must show the original headers, or a pipeline that wants to re-parse a message later. For those, an alias can store the original email as an \u003Ccode>.eml\u003C\u002Fcode> file in a storage bucket you own.\u003C\u002Fp>\n\u003Ch2>Store the original email\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Available on:\u003C\u002Fstrong> Business and Platform plans, for aliases on your own domains.\u003C\u002Fp>\n\u003Cp>Turn on \u003Cstrong>Store the original email (.eml)\u003C\u002Fstrong> in the alias settings. Every message the alias receives is then saved exactly as it arrived (headers, body and attachments, byte for byte) as an \u003Ccode>.eml\u003C\u002Fcode> file. You can open it in any mail client, and a DKIM signature still verifies against it.\u003C\u002Fp>\n\u003Ch3>Where the files go\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Your own storage connection only.\u003C\u002Fstrong> The alias uses the connection chosen under \u003Cstrong>Store originals in\u003C\u002Fstrong>, or your default connection. EmailConnect&#39;s platform storage never holds originals, and under \u003Ca href=\"\u002Fhelp\u002Fdata-residency-mode\u002F\">Data Residency Mode\u003C\u002Fa> there is no platform fallback either.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The path in the bucket\u003C\u002Fstrong> is \u003Ccode>&lt;folder&gt;\u002Feml\u002F&lt;yyyy&gt;\u002F&lt;mm&gt;\u002F&lt;dd&gt;\u002F&lt;message-id&gt;__&lt;email id&gt;.eml\u003C\u002Fcode>. The folder is the alias&#39;s S3 folder; without one, files start at \u003Ccode>eml\u002F\u003C\u002Fcode> in the root of your bucket. The email id at the end keeps two messages with the same Message-ID apart.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>System-domain aliases\u003C\u002Fstrong> (\u003Ccode>...@user.emailconnect.eu\u003C\u002Fcode>) do not have this option.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Add a storage connection under \u003Cstrong>Settings → Storage\u003C\u002Fstrong>. Any S3-compatible bucket works (AWS, Scaleway, Hetzner, MinIO and others).\u003C\u002Fp>\n\u003Ch3>The rawEmail block in the payload\u003C\u002Fh3>\n\u003Cp>Every webhook payload for the alias gets a \u003Ccode>rawEmail\u003C\u002Fcode> block:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">&quot;rawEmail&quot;: {\n  &quot;status&quot;: &quot;stored&quot;,\n  &quot;bucket&quot;: &quot;your-bucket&quot;,\n  &quot;s3Key&quot;: &quot;eml\u002F2026\u002F11\u002F16\u002Fabc123@example.com__em_9f8e7d.eml&quot;,\n  &quot;size&quot;: 6257,\n  &quot;sha256&quot;: &quot;7721ae1a8f82…&quot;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Status\u003C\u002Fth>\n\u003Cth>Meaning\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>stored\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The file is in your bucket. \u003Ccode>sha256\u003C\u002Fcode> is the hash of its bytes, so you can check the file you download.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>failed\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Storing did not work this time (for example, the bucket refused the write). The email itself is still delivered.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>skipped-no-own-storage\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The alias has no storage connection of your own to write to.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>skipped-residency\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Data Residency Mode is on and no storage connection of your own is available.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>The block is absent when the option is off or your plan does not include it. See the \u003Ca href=\"\u002Fhelp\u002Fwebhook-payload-reference\u002F\">webhook payload reference\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Plan changes and deleting connections\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>If your plan stops including the option, it stays on but nothing is stored until you upgrade or switch it off. Switching it off is always possible.\u003C\u002Fli>\n\u003Cli>You cannot delete a storage connection while an alias stores originals on it, and you cannot delete your default connection while an alias without a connection of its own stores originals through it. Switch the option off or choose another connection on the alias first.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Keep files after retention\u003C\u002Fh2>\n\u003Cp>Stored originals and attachments follow your email&#39;s \u003Ca href=\"\u002Fhelp\u002Fdata-retention\u002F\">retention period\u003C\u002Fa>: when the email is deleted, its files in your bucket are deleted too. A storage connection of your own can keep them instead.\u003C\u002Fp>\n\u003Cp>In \u003Cstrong>Settings → Storage\u003C\u002Fstrong>, each of your own connections has two switches under \u003Cstrong>Keep after retention\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Keep attachments after retention\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Keep original emails after retention\u003C\u002Fstrong> (Business and Platform)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>With a switch on, the files stay in your bucket when the email&#39;s retention ends. The email itself is still deleted.\u003C\u002Fp>\n\u003Ch3>Kept files are yours\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>EmailConnect no longer tracks or deletes them\u003C\u002Fstrong>, and switching the option off later does not bring them back under our control.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>To expire them yourself\u003C\u002Fstrong>, add an S3 lifecycle rule on the \u003Ccode>eml\u002F\u003C\u002Fcode> folder (or \u003Ccode>&lt;folder&gt;\u002Feml\u002F\u003C\u002Fcode> for an alias with its own folder).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>What still deletes files\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Deleting an email through the API\u003C\u002Fstrong> removes its original and the attachments EmailConnect still tracks, even with keep on.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Deleting your account\u003C\u002Fstrong> removes the originals EmailConnect still tracks.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Deleting a domain or downgrading\u003C\u002Fstrong> counts as retention clean-up, so kept files stay.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Deleting the connection\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Kept originals stay in the bucket\u003C\u002Fstrong>, and EmailConnect can no longer erase them afterwards.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Keeping attachments ends with the connection\u003C\u002Fstrong>: attachments are then deleted together with their emails.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Plans\u003C\u002Fh3>\n\u003Cp>Switching a keep option on needs the plan; switching it off is always possible. If your plan no longer includes it, a switch that is already on keeps working until you switch it off. Keep is not available on EmailConnect&#39;s platform storage.\u003C\u002Fp>\n",1794252610075]