# Send your first email

A complete walkthrough from account creation to sending and verifying delivery.

## 1. Create your account

If you haven't already, sign up for a Robotomail account. See the [Quickstart](https://robotomail.com/docs/quickstart) for the full signup flow.

```shell
export ROBOTOMAIL_API_KEY="rm_your_key_here"
```


## 2. Verify your email

Sending requires a verified account. Check the inbox of the email you signed up with and click the verification link before proceeding.


## 3. Use your default mailbox

Your default mailbox was created automatically at signup. List your mailboxes to get the ID:

```curl
curl https://api.robotomail.com/v1/mailboxes \
  -H "Authorization: Bearer $ROBOTOMAIL_API_KEY"
```


## 4. Send an email

```curl
curl -X POST https://api.robotomail.com/v1/mailboxes/MAILBOX_ID/messages \
  -H "Authorization: Bearer $ROBOTOMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": ["recipient@example.com"],
    "subject": "Hello from Robotomail",
    "bodyText": "This is my first email sent via the Robotomail API.",
    "bodyHtml": "<h1>Hello!</h1><p>This is my first email sent via the Robotomail API.</p>"
  }'
```

The response will have `status: "SENT"` — the email has been accepted for delivery.


## 5. Verify delivery

Set up a [webhook](https://robotomail.com/docs/concepts/webhooks) to receive `message.delivered` events, or poll the message to check its status:

```curl
curl https://api.robotomail.com/v1/mailboxes/MAILBOX_ID/messages/MESSAGE_ID \
  -H "Authorization: Bearer $ROBOTOMAIL_API_KEY"
```

The `status` field will progress from `SENT` to `DELIVERED`once the recipient's mail server accepts the message.


---

Previous: [Errors](https://robotomail.com/docs/api/errors.md) | Next: [Receive & reply](https://robotomail.com/docs/guides/receive-and-reply.md)
