# Developer Documentation

<div align="left"><figure><img src="https://1498796057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuZvOoshvlpuzKKHG2Gf0%2Fuploads%2Fy7L7eBLzhgwaJcANZvy4%2Flaptop.svg?alt=media&#x26;token=3ac93e15-e959-4eeb-b1dd-737d2ab1e93c" alt="A woman sitting with a laptop"><figcaption></figcaption></figure></div>

Maildrop provides an easy-to-use API that lets you programmatically retrieve mailbox listings and individual messages, delete messages, and more.

### Maildrop Architecture

Maildrop is built on a very straightforward architecture - as messages come in, they are checked against a variety of antispam filters written by [Heluna](https://heluna.com/). Messages which pass the filters get immediately queued and placed into a database.

{% hint style="info" %}
The first time you email a maildrop.cc address from a mail server that Maildrop hasn't seen before, Maildrop will respond with a temporary failure telling your mail server to try again. This is a concept known as "[greylisting](https://en.wikipedia.org/wiki/Greylisting_\(email\))", which is one effective antispam technique. Most mail servers will retry their delivery within 15 minutes, which Maildrop will then accept.
{% endhint %}

### Temporary, Throwaway Mailboxes

Maildrop mailboxes are *temporary*; that is, if a mailbox doesn't get a message within 24 hours, it erases all of its messages. Additionally, during periods of high usage, mailboxes which have not had a message added recently may be evicted to make space for new messages.

Maildrop mailboxes can hold a maximum of **10 messages**, after which the oldest messages will be deleted.

### Sending Email from Maildrop

Maildrop **can not send email** under any circumstances. The SPF record for Maildrop is set so that no host on the internet should be sending messages from the maildrop.cc domain - you can (and should) ignore all emails from a maildrop.cc address.

```bash
% nslookup -type=txt maildrop.cc
Server:		100.100.100.100
Address:	100.100.100.100#53

Non-authoritative answer:
maildrop.cc	text = "v=spf1 -all"
```
