Many business workflows still rely on email to exchange files. A supplier sends a CSV. A partner delivers a report. A client submits a signed document. The files arrive reliably enough (when they aren't routed to spam), but the problem is what happens next. They land in an inbox, waiting for someone to download them and move them somewhere useful.
Amazon S3 does not natively accept email attachment files. The AWS-native approach — combining Amazon SES, Lambda functions, and IAM policies — works, but requires writing and maintaining custom code, managing infrastructure, and handling edge cases around email parsing.
Couchdrop offers a different path through Mailboxes. Mailboxes generate a dedicated email address that automatically extracts attachments and saves them directly to your Amazon S3 bucket with no coding required.
In this tutorial, you will connect an S3 bucket to Couchdrop, create a Mailbox pointed at that bucket, and verify that attachments sent to the Mailbox email address land in S3.
Prerequisites
To complete this tutorial, you will need:
- A Couchdrop account with Admin permissions. You can sign up for a free trial at couchdrop.io.
- An Amazon S3 bucket already created in your AWS account.
- An AWS IAM access key and secret with read and write permissions to that bucket, and the bucket's AWS region. Refer to AWS's documentation on creating IAM keys if you have not already set this up.
Step 1 — Connecting Your Amazon S3 Bucket to Couchdrop
In this step, you will add your S3 bucket as a storage connection in Couchdrop. This makes the bucket available as a destination when you configure your mailbox in the next step.
Log in to your Couchdrop account at my.couchdrop.io. Click + Create in the top navigation bar and select Connect to Storage from the dropdown menu.
In the list of available storage connections, locate Amazon S3 and click Continue. Couchdrop will display the configuration form for S3.
Fill in the following fields:
- Name for this integration: Enter a name to identify this connection in the Couchdrop interface, such as
S3 Email Attachments. This label appears throughout the platform wherever you browse storage. - Name for new Couchdrop folder: Enter the name you want this connection to appear as in the Couchdrop virtual file system, such as
s3-attachments. - S3 Access Key: Enter your IAM access key ID.
- S3 Access Key Secret: Enter your IAM secret access key.
- S3 Bucket (Optional): The specific bucket you wish to connect to
- AWS Region (Optional): Enter the region where your S3 bucket is located, for example
us-east-1.
Click Save and Test. Couchdrop will attempt to authenticate with AWS and confirm access to your bucket. If the test succeeds, you will see a confirmation message.
After a successful test, a folder browser will appear. You can optionally select a specific subfolder within your bucket as the destination root — for example, /incoming/email-attachments/. If you leave this at the bucket root, files will be saved directly into the top level of your bucket.
Click Add Integration to complete the storage connection.
Your S3 bucket is now connected and available as a storage destination. In the next step, you will create a mailbox that routes incoming email attachments to this location.
Step 2 — Creating a Mailbox
In this step, you will create a Couchdrop Mailbox, a dedicated email address that automatically saves attachments to your S3 bucket when emails are received.
In the left sidebar navigation, click Mailboxes. Then click New Mailbox.
Couchdrop will walk you through the mailbox setup in a short sequence of steps.
1. Choose Location. A folder browser will appear showing your connected storage. Navigate to the S3 connection you created in Step 1, and select the folder where you want attachments to be saved. Click Continue.
2. Configure Options. Enter a descriptive name to identify this mailbox in your account, such as Supplier Invoices or Partner Reports in Mailbox name. This name appears only in the Couchdrop interface and is not visible to senders.
Set an Expiry period if you want the Mailbox to expire after a certain amout of time. Options range from 1 Hour to 1 Year. For a permanent mailbox, leave this set to Never Expire. Click Continue.
3. Details. Couchdrop will inform you that your mailbox has been created and remind you what the Mailbox does. The Mailbox address will also be displayed.
Click Copy to copy the address to your clipboard. The address will follow the format:
<^>unique-id<^>@mail.couchdrop.io
If your account has a custom domain configured, the address will use your domain instead.
You can also pick Share via email to email the Mailbox details directly from Couchdrop to any email address.
You now have a working mailbox linked to your S3 bucket. In the next step, you will review the available settings and then verify the setup by sending a test email.
Step 3 — Reviewing Mailbox Settings
Before sending your first test, it is worth reviewing the available mailbox settings so you understand what controls are available. From the mailbox detail screen, click Edit to open the settings panel.
The General Settings tab includes:
- Mailbox name: The display name for this mailbox in your Couchdrop account.
- Where would you like files uploaded via email to be saved?: The S3 directory where attachments will be saved. You can change this at any time.
- Mailbox allowed senders: A comma-separated list of email addresses permitted to send files to this mailbox. Wildcards are supported, for example
*@yourpartner.comwould allow any address from that domain. If this field is left empty, any sender can deliver files. - Upload email body contents as '.txt' file: When this checkbox is enabled, Couchdrop saves the text content of the email body as a separate
.txtfile alongside the attachments. This is useful when senders include notes, reference numbers, or metadata in the email body that you need to retain.
The Expiry and Alerting tab includes notification options and expiry settings:
- Expiry: Change the Expiry period.
- Send email on Success: Enables an email notification when attachments are saved successfully.
- Send email on Failure: Enables a notification if the delivery fails.
- Send email to custom recipients: When enabled, you can specify a comma-separated list of email addresses to receive these notifications, rather than notifying only the account owner.
Configure any settings relevant to your workflow and save your changes before moving on.
Step 4 — Testing the Mailbox
In this step, you will send a test email with an attachment to confirm that files land in your S3 bucket as expected.
From your mailbox detail screen, copy the mailbox email address. Open your email client and compose a new email. Address it to the mailbox email address you copied, attach a small test file — a PDF or a simple text file works well — and send the email.
Allow a moment for delivery. Then log in to your AWS Management Console, open your S3 bucket, and navigate to the folder you selected during mailbox setup. Your test file should appear there.
If you enabled success notifications in Step 3, check your inbox for the notification email confirming delivery.
If the file does not appear after a minute or two, return to the mailbox settings and verify:
- The File destination is pointing to the correct S3 folder.
- Your IAM credentials still have write access to that bucket.
- The sender address is permitted under Mailbox allowed senders (if you configured a sender restriction).
Once the test file appears in S3, your mailbox is working correctly.
Next Steps
You have now connected an Amazon S3 bucket to Couchdrop and configured a dedicated mailbox email address that automatically saves email attachments directly to S3. Anyone you share the mailbox address with can deliver files by sending a standard email with an attachment.
From here, you can share the mailbox address with suppliers, partners, or internal teams who need a way to submit files without direct access to your S3 bucket.
To expand this workflow, you might consider:
- Restricting who can send files by configuring the allowed senders list with specific partner domains.
- Setting up file actions to trigger additional processing, such as sending a webhook notification, when new files arrive in the S3 folder. Learn more in Couchdrop's Automations & Workflows page.
- Using upload links as an alternative channel, giving partners a secure web form to submit files when email is not preferred.
- Adding SFTP access on top of the same S3 bucket for partners who require SFTP delivery. See SFTP/FTP to Amazon S3 for a step by step tutorial like this one.