Skip to content

Business and Team Business

Email to files on your own server

Some systems only read files: an ERP or accounting import, a warehouse system, a nightly job. A file drop writes what an endpoint receives as CSV, XML or JSON files to your SFTP, FTP/FTPS or S3-compatible server, a file per email or one per batch, so the system that watches the folder picks them up.

Part of Business, $29 a month or $290 a year, and of Team Business for endpoints shared with the team.

Set it up

  1. 1

    Add a file drop

    In the endpoint's Settings, under Forwarding, pick File drop.

  2. 2

    Say where the files go

    SFTP with a password or a private key, FTPS (explicit TLS) or FTP with a password, or S3-compatible storage with a bucket and an access key that may write objects. Then the folder, or the key prefix on S3.

  3. 3

    Choose what each file holds

    CSV or XML with the columns you set, a row per email or per line item, or JSON: each email as signed JSON sends it, with its parsed fields and line items.

  4. 4

    A file per email, or per batch

    A batch holds everything that arrives within the minutes you set, 1 to 60, after its first email.

  5. 5

    Test the connection

    Save, then Test the connection: it logs in and writes webhooks-cc-test.txt to the folder.

Every setting, in full: File drops in the forwarding docs

Where the files go

SFTP

Host, port (22), username, and a password or a private key (OpenSSH or PEM). The server's host key is pinned on the first connection, and a different one later stops the drop, as ssh would.

FTPS and FTP

Host, port (21), username and password. FTPS uses explicit TLS; plain FTP sends the password and the files unencrypted, so keep it for servers that offer nothing else.

S3-compatible

AWS, Cloudflare R2, Hetzner, MinIO, Backblaze and the like: the endpoint URL, region, bucket, and an access key that only needs to write objects.

On SFTP and FTP the folder must exist and is relative to the login's home folder; on S3 it is the key prefix. For a self-signed certificate, enter its SHA-256 fingerprint and only that certificate is accepted.

What lands in the folder

An order email from Acme, as a file per email with a row per line item and the prefix orders-. The same columns can be written as XML, where each row is a <row> element with an element per column, named after its header:

orders-20261029-173326-3f2a9c1e.csv

Order,SKU,Qty,Price
1001,ACME-TEE-M,2,12.50
1001,ACME-MUG,1,12.50
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <Order>1001</Order>
    <SKU>ACME-TEE-M</SKU>
    <Qty>2</Qty>
    <Price>12.50</Price>
  </row>
  <row>
    <Order>1001</Order>
    <SKU>ACME-MUG</SKU>
    <Qty>1</Qty>
    <Price>12.50</Price>
  </row>
</rows>

A CSV cell that a spreadsheet would read as a formula is written as text. JSON files hold each email as signed JSON sends it, parsed fields and line items included.

What to know

  • Business, and Team Business for endpoints shared with the team
  • SFTP, FTPS, FTP and S3-compatible storage
  • CSV, XML or JSON; up to 50 columns in CSV and XML
  • A file per email, or per batch of 1 to 60 minutes
  • Written under a temporary name, then renamed
  • SFTP host keys pinned on the first connection
  • Connects from mx.mailhooks.cc, one address to allow
  • Passwords and keys stored encrypted, never shown again

Plans, prices and limits: Pricing

Questions

More on mailhooks.cc